Commit Graph

1094 Commits

Author SHA1 Message Date
Watermelon914
fc854e7076 Removes TTS voice disable option (#76530)
## About The Pull Request
Removes the TTS voice disable option, which was already unavailable on
TG as it was set to off by default. The reason this was added was so
that downstreams could toggle the config on or off.

## Why It's Good For The Game
I think this option fundamentally undermines the TTS system because it
allows individual players to disable their voice globally, meaning that
players who have TTS enabled will not be able to hear them.

This worsens the experience for players who have TTS enabled and it's
not something I want to include as an option. If players don't like
their voice, they can turn TTS off for themselves so that they don't
hear the voices. If players don't want to customize their voice, they
can quickly choose a random voice, and we can take directions in the
future to make voice randomization consistent with gender so that a male
does not get randomly assigned a female voice and vice versa.

This option is already unavailable on TG servers because it was
primarily added for downstreams, but I don't think giving downstreams
the option to undermine the TTS system is the right direction to take.
Downstreams are still completely free to code this option on their own
codebase.

---------

Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2023-07-07 06:31:12 -04:00
san7890
755fa4db6d Loads Away Missions for Unit Testing (#76245)
## About The Pull Request

Hey there,

A pretty bad bug (#76226) got through, but it was fixed pretty quickly
in #76241 (cf92862daf). I realized that if
we were testing all the away missions, that this could theoretically get
caught and not happen again. Regardless, unit testing gateway missions
has been on my to-do list for a while now, and I finally got it nailed
down.

Basically, we just have a really small "station" map with the bare bones
(_teeny_ bit of fluff, maploading is going to take 30 seconds tops
anyways let me have my kicks) with a JSON map datum flag that causes it
to load all away missions in the codebase (which are all in one folder).
Just in case some admins were planning on invoking the proc on
`SSmapping`, I also decided to gate a `tgui_alert()` behind it because
you never can be too sure of what people think is funny these days (it
really does lock up your game for a second or so at a time).

I also alphabetized the maps.txt config because that was annoying me.
## Why It's Good For The Game

Things that break on production could(?) be caught in unit testing? I
don't know if the linked issue I mentioned above would have been caught
in retrospect, but it's likely to catch more than a few upcoming bugs
(like the UO45 atmospherics thing at the very top) and ensure that these
gateway missions, which tend to be the most neglected part of mapping,
stay bug-free.

This is also helpful in case someone makes a new away mission and wants
to see if stuff's broken. Helps out maptainers a bit because very, very
technically broken mapping will throw up runtimes. Neato.
## Changelog
Nothing that players should be concerned about.

Let me know if there's a better way to approach this, but I really think
that having a super-duper light map with the bare basics to load up
gateway missions and then all nine-ish gateway missions can sequentially
load during init. I can't think of a better way to do it aside from some
really ugly `#ifdef` shit. Also also, it has the added benefit of being
a map that will always load your away mission without touching a single
shred of config (and it's not likely to break if you follow sane
practices such as making your own areas)
2023-07-05 19:40:24 -07:00
san7890
d8058f1245 Datumizes out jobconfig.toml (extensibility edition) (#76102)
## About The Pull Request

Hey there,

#75992 (fc54fd6a60) made me realize just
how wacky the job config system is to people trying to add more new
stuff to it, so I finally got the motivation to fix it up.

The gist is that it does all of the same stuff on the front-end as you
would expect, but instead of having to modify core generation code to
create/recreate the files, it instead uses a robust series of getters
and setters. It's much better to use these getters and setters because
we can apply needed game logic (like ensuring that the age that the
server operator puts in is actually sane, and not completely out of
bounds (if you want to permanently price people out of a position, just
set it to 0)). The getters are also nifty too, because they let me atone
for an early mistake I made with how assistants are meant to work with
"unlimited" nonsense.

All a new coder who wants to add stuff to the config needs to do now is
create the define, create the datum, add the procs for the datums, and
that's it! They don't have to do any of the wacky stuff or account for
weird stuff or do any weird copypasta, it's all handled by the system.
One datum is all you need, quite neat.

This also fixes some issues in #75992 that probably weren't discovered
in testing, but the only good way to fix it was a retune+refactor, which
is included in this PR.
## Why It's Good For The Game

Much more extensible, ensuring this system actually works as fully
intended, etc.

I fixed up the documentation (they didn't regenerate the job config
after they updated the code-side documentation) and some weird spacing
stuff that I missed in my review of that aforementioned PR. Everything
should work as expected, it's been tested quite a bit. It's also in its
own folder now, which is neat because we can share the local defines and
split all this stuff out of the already-quite-large SSjob file.
## Changelog
🆑
server: job_config.toml should now comply with reload-configuration
verb, meaning you can hot-reload the configuration from disk and have it
apply ingame automatically.
config: The documentation for setting Minimum Character Age on a per-Job
basis has been altered to be more explicit.
fix: The Minimum Character Age configuration entry is now sanitized to
ensure that it's within the codebase-defined ages, since there's no
(legitimate) way to get a character outside of those ages anyways.
Invalid values will log to the config log.
/🆑

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-07-04 23:57:16 +00:00
Vekter
a8737f7d58 Removes redundant CID randomizer check (#76396)
## About The Pull Request
This check is redundant because 512 fixed the exploit it was designed to
check. Randomizers still exist, but this code doesn't apply to them
since they use a different method.

Someone else tried this before but got his shit slapped for it being his
first PR and there being a possibility he was removing it so he could
bypass it. I'm not banned and have no possible ulterior motives; I just
want to get rid of dead code.

## Why It's Good For The Game
I'd make an Old Yeller joke, but the code's already dead, so.

Fixes #43227

## Changelog

This is not a player-facing change.
2023-06-30 20:59:50 +01:00
Iamgoofball
a159b52e85 TTS Improvements: Improved Audio Quality, Pitch Adjustment, Preference Silicon Voices, Per-Character Voice Disable Toggle, Tongue Voice Filters, Reworked Silicon and Vending Machine Filters (#76129)
## About The Pull Request


https://github.com/tgstation/tgstation/assets/4081722/5ca8e015-21f9-4159-9953-bc370152d01f

Improves the audio quality and speaker fidelity by implementing
Retrieval Voice Conversion as an intermediary layer, utilizing the
repository at https://github.com/ddPn08/rvc-webui.
Leverages RVC to allow players to set a pitch for their voice.


https://github.com/tgstation/tgstation/assets/4081722/0eb76ed7-ad67-4da2-9ceb-02605eea2c83

Makes silicons utilize a player's chosen voice preference on their
character slot, and adds a preview button to hear the voice as a silicon
on character creation.
Adds a toggle on character creation to disable having a voice on a
specific character slot.
Adds support for per-tongue voice filters.
Reworks the silicon voice effect to be a special effect done on the TTS
server level instead of via normal filters.
Reworks the vending machine effect to use the new robotic voicebox
effect.

## Why It's Good For The Game

Vastly improves the audio quality and speaker fidelity of our TTS
system.
Allows players to further customize their voice per character, naturally
pitching the voice up or down with cutting edge machine learning based
pitch adjustment.
Allows silicon players to have a consistent voice that's also audible
and understandable regardless of the voice or pitch of the speaker.
Improves vending machine audio quality.
Enhances the immersion of snail tongues and robotic voiceboxes.
Adjusts how Poly's pitch adjustment works based on if RVC is available
or not.
Allows players who feel that a voice doesn't fit their character to
disable having TTS on their specific character.
Provides server operators a way to disable specific voices in situations
with a shared voice server.

## Changelog

🆑 Iamgoofball, Nadare, ddPn08, Mangio621, the rest of the RVC dev
team
add: Improves the audio quality and speaker fidelity by implementing
Retrieval Voice Conversion as an intermediary layer, utilizing the
repository at https://github.com/ddPn08/rvc-webui.
add: Leverages RVC to allow players to set a pitch for their voice.
add: Makes silicons utilize a player's chosen voice preference on their
character slot, and adds a preview button to hear the voice as a silicon
on character creation.
add: Adds a toggle on character creation to disable having a voice on a
specific character slot.
add: Adds support for per-tongue voice filters.
add: Reworks the silicon voice effect to be a special effect done on the
TTS server level instead of via normal filters.
add: Reworks the vending machine effect to use the new robotic voicebox
effect.
/🆑

---------

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2023-06-28 20:43:13 +00:00
LemonInTheDark
d93e81c2fc Emergency Profile Dumps (#75924)
## About The Pull Request

Adds some hooks to the MC that detect if something ate a ton of real
time last tick, and reacts by dumping our current profile into a file

It's really frustrating to see a spike in td in our performance logs,
but see no reason in the profile because it's only taken every 5
minutes. This resolves that

I'm throwing this up so mso can give it a look over, not sure if I want
to use defines or configs here, taking suggestions

🆑
server: Adds a system to emergency dump profiles if too much time passes
between ticks
config: Added configs that control how often emergency profiles are
allowed to dump, alongside the threshold for what counts as too much
time between ticks
/🆑
2023-06-23 10:35:43 +02:00
distributivgesetz
997210290e Robust Photocopiers + Adds the Access Request blank (#76048)
## About The Pull Request
Currently, photocopiers parse the `blanks.json` file in `ui_data` and
send the entire thing to the client. Then, the client sends the entire
blank back to the server to commit it into the paper, in raw form. This
is a detriment to server performance. This PR puts paper blanks into a
global associative list that uses the `code` field as an index.

Printer toner color for some reason would check if the charges were
below 10, even though default cartridges only go up to 5. The value has
been changed to 2, which is still a high number. Toner cartridges are
scams.

Also photocopiers now have to hold actual paper and no longer
materialize it out of thin air. It's done similarly to paper bins, where
there is a starting integer value dictating how much paper is inside so
paper is lazily loaded into existence, as well as a paper stack list
that holds newly inserted paper. Photocopier paper starts out at 30 and
can go up to 60.

Additionally, the photocopier copying loop has been refactored to be a
lot more sane. The previous version ~~ab~~used timers for copying,
making a timer for each i interval to num_copies. I changed it to be a
proc that loops from i to num_copies, sleeping for a short amount of
time whilst playing a sound. This is a lot tidier and nicer since we
don't deal with timers, plus we get to play a printing sound too.
`make_thing_copy` now works by returning the copied object, or null if
something went wrong, so we know when to continue or exit.

This PR refactors UI code so entire blanks aren't sent to the client,
instead relying on the IDs for the blanks. Also, photocopiers now store
actual paper and also run out of it instead of materializing some out of
thin air.

Also, while I am already editing `blanks.json`, I added the Access
Request blank because people asked me to.

I can revert the config changes if it's too much of a hassle.

<details>
<summary>Screenshots/Me testing a printer for 5 minutes</summary>


![dreamseeker_gZ4Kl3QZbF](https://github.com/tgstation/tgstation/assets/47710522/b601b79a-1b2f-4d7f-b72a-f62dad217698)


https://github.com/tgstation/tgstation/assets/47710522/11c4b63b-7cfc-4425-96c6-970d4a5f51ca


https://github.com/tgstation/tgstation/assets/47710522/2f7a4a15-3400-49f3-9aca-c4d04c886bec


https://github.com/tgstation/tgstation/assets/47710522/14afe7d9-53ea-4d17-870f-1e90319284eb

</details>

<details>
<summary>Access Request form</summary>


![image](https://github.com/tgstation/tgstation/assets/47710522/0cf99542-24d1-41ca-8aa9-26bb201a79c0)


![image](https://github.com/tgstation/tgstation/assets/47710522/36418c42-eb82-4c13-ab65-08f6486cf613)


![image](https://github.com/tgstation/tgstation/assets/47710522/7acde2ff-040a-40bf-8898-398c2150655e)


</details>

## Why It's Good For The Game
Speeb. Also having photocopiers relying on an ingame stock of paper is
also very cool.

## Changelog
🆑 distributivgesetz
add: Photocopiers now use actual paper instead of materializing it out
of thin air.
add: Adds the "Access Request" form.
refactor: Greatly improve the reliability and performance of
photocopiers.
qol: Changed the blanks so they look nicer, whilst also fixing the
lawsuit request form.
qol: Nanotrasen's bureaucracy division has ""improved"" the quality of
their printer toner after many complaints from furious customers.
/🆑
2023-06-18 18:45:09 -06:00
SuperDrish
fc54fd6a60 Add new check for character age for jobs. (#75992)
## About The Pull Request

Simply as it is. Every job _can_ have a minimal character age and will
not let underages to occupy for it.

Can be configured in config. Disabled(all zeros) by default.


![изображение](https://github.com/tgstation/tgstation/assets/59139863/797febd5-5b59-44d0-8767-b2347629197b)


## Why It's Good For The Game

Good for RP downstreams.

## Changelog
🆑 SuperDrish
add: Minimal Job Age requirments added. Disabled by default.
/🆑
2023-06-16 14:50:26 -06:00
larentoun
036cfc84c8 feat: Respawn delay (optional) (#75544)
## About The Pull Request
Adds optional (disabled by default) respawn delay. If the player is
observer and have a body, it will firstly check the body. If the body is
destroyed or if there was none, then it will check observer's login
time.

## Why It's Good For The Game
Optional respawn delay is good, when you want players to comeback not
only as a midround event, but don't want them to not care about their
life. Also, if respawn is enabled, removes "money dupe" and other
problems with 0 respawn delay.

This proc can also be used for ghost-roles or anything else, where we
need to check how much time has elapsed since their death, but is not
implemented here.

## Changelog
🆑
add: Added optional respawn delay (disabled by default), which prevents
returning to lobby while dead.
/🆑
2023-06-08 23:28:45 -06:00
Zephyr
fbec9c14e9 JSON Logging Take Two (#73604)
## About The Pull Request

Converts all logging, excluding perf and investigate, to json.
I focused on making the system as easy to use and as easy to add new
categories as possible.

Due to issues related to logging to world at global creation logger is
now a byond real, which is created directly before Master

Log categories support versioning, secret flagging, and sub-category
filtering. Although all of this is entirely optional for coders.
If you ever want to add a new category and use it, all you need to do is
make the barebones category datum and the define.
I've kept existing procs such as log_game, and simply turned them into a
wrapper for Logger.Log(xxx, ...)
## Why It's Good For The Game

Makes processing and filtering logs much easier in the future, while
only minimally downgrading log crawling experience.
I am also working on a log viewer frontend for admin usage however that
will take a little bit longer to finish up.
Also makes special logging and data tracking much easier thanks to a
data list processing implementation and handling
## Changelog
🆑
server: All logs are now formatted in json, excluding perf and
investigations
/🆑

---------

Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-05-22 14:51:00 +12:00
Watermelon914
a98706ff8b Adds TTS to the game. Players can select their own voices in preferences. (#74775)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-05-15 16:21:54 -07:00
larentoun
4dfebd58e9 fix: Basic mobs' multiplicative movespeed (#75186)
## About The Pull Request
Adds default multiplicative movespeed for basic mobs, so their speed is
configurable via config.

## Why It's Good For The Game
Closing things which were probably missed in the development of basic
mobs

## Changelog
🆑
code: Adds default multiplicative movespeed for basic mobs, to make them
editable in config
config: Default multiplicative movespeed for basic mobs in example
config
/🆑
2023-05-07 10:32:13 -07:00
John Willard
1674f25725 New Medical job: The Coroner (#75065)
## About The Pull Request

HackMD: https://hackmd.io/RE9uRwSYSjCch17-OQ4pjQ?view

Feedback link: https://tgstation13.org/phpBB/viewtopic.php?f=10&t=33972

Adds a Coroner job to the game, they work in the Medical department and
have their office in the Morgue.
I was inspired to make this after I had played my first round on
Paradise and messed around in there. The analyzer is copied from there
(https://github.com/ParadiseSS13/Paradise/pull/20957), and their
jumpsuit is also mostly stolen from it (i just copied the color scheme
onto our own suits).

Coroners can perform autopsies on people to see their stats, like this

![image](https://user-images.githubusercontent.com/53777086/235369225-805d482c-56c0-441c-9ef8-a42d0a0192bc.png)

They have access to Medbay, and on lowpop will get Pharmacy (to make
their own formaldehyde). They also have their own Secure Morgue access
for their office (doubles as a surgery room because they are edgelords
or whatever) and the secure morgue trays.

Secure Morgue trays spawn with their beepers off and is only accessible
by them, the CMO, and HoS. It's used to morgue Antagonists. Security's
own morgue trays have been removed.

The job in action


https://cdn.discordapp.com/attachments/950489581151735849/1102297675669442570/2023-04-30_14-16-06.mp4

### Surgery changes

Autopsies are a Surgery, and I tried to intertwine this with the
Dissection surgery.
Dissections and Autopsies both require the Autopsy scanner to perform
them, however you can only perform one on any given body. Dissections
are for experiments, Autopsies is for the paper of information.

Dissected bodies now also give a ~20% surgery speed boost, this was
added at the request of Fikou as a way to encourage Doctors to let the
Coroner do their job before reviving a body.
I also remember the Medical skill, which allowed Doctors to do surgery
faster on people, and I hope that this can do something like that
WITHOUT adding the potential for exploiting, which led to the skill's
downfall.

### Morgue Improvements

Morgue trays are no longer named with pens, they instead will steal the
name of the last bodybag to be put in them.

Morgue trays are also removed from Brig Medical areas and Robotics, now
they have to bring their corpses to the Morgue where the Coroner can
keep track and ensure records are properly updated.

### Sprite credits

I can't fit it all in the Changelog, so this is who made what

McRamon
- Autopsy scanner

Tattax 
- Table clock sprites and in-hands

CoiledLamb
- Coroner jumpsuits & labcoats (inhand, on sprite, and their respective
alternatives)
- Coroner gloves
- CoronerDrobe (the vending machine)

## Why It's Good For The Game

This is mostly explained in the hackmd, but the goal of this is:

1. Increase the use of the Medical Records console.
2. Add a new and interesting way for Detectives to uncover mysteries.
3. Add a more RP-flavored role in Medical that still has mechanics tied
behind it.

## Changelog

🆑 JohnFulpWillard, sprites by McRamon, tattax, and Lamb
add: The Coroner, a new Medical role revolving around dead corpses and
autopsies.
add: The Coroner's Autopsy Scanner, used for discovering the cause for
someone's death, listing their wounds, the causes of them, their
reagents, and diseases (including stealth ones!)
qol: Morgue Trays are now named after the bodybags inside of them.
balance: The morgue now has 'Secure' morgue trays which by default don't
beep.
balance: Security Medical area and Robotics no longer have their own
morgue trays.
balance: Dissected bodies now have faster surgery speed. Autopsies also
count as dissections, however they're mutually exclusive.
/🆑

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2023-05-05 21:31:28 -04:00
lessthanthree
d32cea5cce Remove duplicate whiteshipruin_box from blacklist (#75097)
## About The Pull Request

Merge skew, whiteshipruin_box.dmm made it into the blacklist twice.
Sorts the list to be alphabetical while we're here.

## Changelog

N/A
2023-05-04 13:53:10 -06:00
iwishforducks
2c8ecdab3f Stowaway Changelings (Latejoin Changelings) (#74670)
## About The Pull Request

Adds a latejoin form of Changeling flavored as a stowaway.

## Why It's Good For The Game

We don't have a latejoin form of Changelings. It ups the paranoia that
anyone can be a Changeling, latejoin or not. They're also one of the few
non-progression antagonists which would work perfectly as a late join.

## Changelog

🆑
add: Stowaway Changelings will now appear as a late join form of
Changeling.
/🆑

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2023-05-03 08:50:45 -07:00
san7890
912e843f53 Allows Export of your Preferences JSON File (#75014)
## About The Pull Request

Hey there,

This was spoken about in #70492 (specifically
https://github.com/tgstation/tgstation/pull/70492#issuecomment-1278069607),
and I have been waiting for this to be implemented for some time. It
never got implemented, so I decided to code it myself.

Basically, **if the server host doesn't disable it**, you are free to
export your JSONs as a player, right from the stat-panel. It's a pretty
JSON on 515 versions, too!

It's right here:


![image](https://user-images.githubusercontent.com/34697715/235251447-1c977718-51fd-4025-8d89-c60bffc379ec.png)

Here's what the prettified JSON looks like on 515.


![image](https://user-images.githubusercontent.com/34697715/235321061-4a217e26-c082-4bba-b54a-2c780defda0a.png)

There's a cooldown (default to 10 seconds) between exporting your
preferences.

#### Why is this config?

It's because in the past, a server host could always just file-share the
.sav or .json or whatever to the player, but they would have to do the
explicit option of actually bothering to make the files accessible to
the player. In that same line of logic, the server operator will have to
explicitly make the files accessible. This is mostly because I'm not
sure how good `ftp()` is at being a player function and wanted to have
some sort of cap/control somehow in case an exploit vector is detected
or it's just plain spammed by bots, so we'll just leave it up to the
direct providers of this data to elect if they wish to provide the data
or not.
## Why It's Good For The Game

Players don't have to log into Server A to remember what hairstyle they
loved using when they want to swap to Server B! That's amazing actually.
I always forget what ponytail my character has, and it'll be nice to
have the hairstyle in a readily accessible place (after I prettify the
JSON for myself).

It's also more convenient for server hosts to make player data like this
accessible if they really want to, too.

If we ever add an _import_ feature in the future (which would have to be
done with a LOT of care), this will also be useful. I wouldn't advise it
though having taken a precursory look at how much goes into it while
trying to ascertain the scope of this PR.
## Changelog
🆑
qol: The game now supports export of your preferences into a JSON file!
The verb (export-preferences) should now be available in the OOC tab of
your stat-panel if enabled by server operators.
server: Exporting player preferences is controlled by a configuration
option, 'FORBID_PREFERENCES_EXPORT'. If you do not wish to let clients
access the ftp() function to their own preferences file (probably for
bandwidth reasons?) you should uncomment this or add it to your config
somehow.
config: Server operators are also able to set the cooldown between
requests to download the JSON Preferences file via the
'SECONDS_COOLDOWN_FOR_PREFERENCES_EXPORT' config option.
/🆑
2023-05-02 08:22:44 -07:00
EOBGames
c3a11c44cb Removal of Kilostation (#75039)
## About The Pull Request
Removes Kilostation from the game.
Since I know this is bound to be a touchy subject (the map has its fans,
after all), I feel I need to explain the situation and why this decision
has been made.

While working on mapping for TGStation, there's an inherent struggle
between what's good for mappers, and what's good for coders. On the
mapping side, we want as many maps as we reasonably can have in the
repo. On the code side, every map added introduces a new layer of
complexity for adding new features. While we're attempting to make
strides in improving cooperation between the two teams so we can handle
both many maps and lots of new features, in the here and now this means
that we find ourselves limited in how many maps we can maintain at once.

With this in mind, we find ourselves in a conundrum when new maps come
along. While it would be nice to accept everything new without needing
to remove anything else, the above problems force us to stick to a
limit. Via a fair amount of discussion on the maintainer team, this was
set to 6 recently, which we reached when Northstar was merged, and
meaning that a removal was required for any new maps.

As for why the decision was made to take Birdshot over Kilo, I believe
it is better for us to have a map that has room to grow and an active
creator. As much as I was personally a Kilo enjoyer, the map has
consistently proven to be problematic for new code additions due to its
scale, and it receives little maintenance outside of the bare essentials
as a result. With all this in mind, it comes out as the obvious choice
for removal in this case. Of course, nothing stops it from coming back
in future if any of the above changes.
## Why It's Good For The Game
TL:DR: In order to keep the maintenance budget down, we need to remove a
map for the sake of new blood, and in this case Kilo was the simplest
choice.
## Changelog
🆑
del: Kilostation has went back to its home planet. It served us
faithfully for nearly 3 and a half years. May it rest in peace.
/🆑

---------

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
2023-04-30 12:52:49 -07:00
BlueMemesauce
6bd192fe49 Fixes some miscapitalization of Nanotrasen (#75026)
## About The Pull Request

Fixes #75019

Also fixes it in a drink, the ethereal lore, and some photocopier
paperwork.

And also adds "NanoTrasen" to common spelling mistakes

## Why It's Good For The Game

Nanotrasen is the correct capitalization
## Changelog
🆑
spellcheck: Fixed Nanotrasen being miscapitalized in traitor posters, a
drink, the ethereal lore, and some photocopier paperwork
/🆑
2023-04-30 04:16:29 +00:00
Zytolg
ad302f209f Nanotrasen Budget Programme - Mothball Edition [BIRDSHOT STATION] (#73502)
## About The Pull Request
--- 

The Space Tram is currently spaced. This is a known issue with not the
map, but Trams in general. The Space Tram is a Space Tram to encourage a
fix. Until then, the Space Tram is a maint tram that's an actual hazard
but cannot directly kill anyone, including lizards. Enjoy the commodity
as you zip from secmaint to medmaint.
-------------------------------------------------------

I... really don't know if I should be proud of myself here. This whole
process has been akin to a fever dream and it has only been little over
a month since I first created the .dmm for this. What started as a
simple yet humble reimagining of Birdboat has turned into an entirely
new station, and blown past Metastation sized proportions. This has been
my most expansive project yet, and somehow it's also been my quickest.
So without further ado, I unveil Birdshot - Successor to Birdoat.

-------------------------------------------------------

**Due to recent cost expenditures on Icemoon projects, and a growing
need for orbital research stations, Nanotrasen has decided to pull
Birdboat Station out of mothball after nearly 5 years of abandonment.**

Since then, the station has seen a variety of changes at the hands of
the various vagabond lawless scum and villains that have decided to make
the abandoned station their home. Do not fret though, a Nanotrasen
Operation has secured the companies rightful property for corporate use
once again, though you'll need to be the stewards of the remaining
cleanup operation.

------------------------------------------------------

Now, as you might have guessed by now, Birdshot is heavily based on
Birdboat station. Many of the decisions here follow the original layout,
and what had to be modified or moved still tries its best to replicate
and imitate what bird being said. At least, that was the idea initially.
This has very much grown into its own beast and as such, while the main
inspiration has been Birdboat, there are a lot of new ideas thrown into
the mix that really give this station its own unique and deserving
identity. Maybe it's not perfect, but I've been inspired by @MMMiracles
own performance with Tramstation to keep working on Birdshot and
updating it with better and improved faculties. For now, though the
station is in a playable state, and that means I'm making a PR. If I had
to borrow the words of the good MMM, I would call this **Birdshot:
Season 0**


![BirdSHOTFULL2-26-S](https://user-images.githubusercontent.com/33048583/221432760-27af1889-d2d0-4861-9435-df4258525fae.png)



See the image in more detail here: https://imgur.com/iT5Vi8k



## Why It's Good For The Game

We've been with the same 5 maps for a while now. @san7890 jokingly said
that I could sacrifice Metastation back in November if I remade Birdboat
but modern. Obviously that wasn't going to happen, yet I was spurred on
by the idea. When I began this in earnest early this January, @EOBGames
said that a Birdboat sized map would replace Kilostation in the
rotation. Interestingly we're not a small map anymore so I honestly have
no clue where this goes. Maybe that ephemeral 6th map slot that's been
rumored.

What I can say, is that Birdshot is wholly unlike anything else that is
currently in rotation. It's got an engineering section that feels way
too small for a station of that size, almost evocative of Cere. Cargo is
blessed with a Boutique that makes use of @Fikou's new mannequin dolls.
Command is outfitted with a Corporate Guest Suite, and Officials sent
from Nanotrasen can embark from their ferry into the safety of their own
Corporate Dock. Elements of Cerestation are present, yet not in a way
that makes traversal annoying. Furthermore we have **2 Trams** (that I
have yet to get functional but we'll get there) on Birdshot, that's
right 2. One Security Prison Tram, and then other, a Space Tram. Both
Novel in their own ways. Departments on Birdshot twist and turn, and
there's an abundance of Maintenance Tunnels to cut through everything,
for the brave and the bold that is. And there's plenty left to discover,
but I'd rather let Birdshot speak for itself. I'm proud of this one.

If you want something new, this is something that is almost the complete
opposite of Chilled Station - Explicitly Designed to send you back to
the metal death trap that is: **Space Station 13.**


## Changelog
🆑
add: Birdshot station has been pulled out of Mothball.
add: New station areas and places to visit. A Mix of Kilo and Delta
maints with winding shortcutting paths.
add: A host of new shuttles to support this bold endeavor to reclaim
something that really shouldn't be reclaimed.
add: Two Trams, Two Trams.
add: For the last time Bob, the gaping hole is a **feature.** Use the
breach shutters or have the virologist make starlight.
add: A smiling salute to stations past...
add: Secrets.


/🆑

---------

Co-authored-by: Zytolg <theoriginaldash@gmail,com>
2023-04-29 21:45:50 +01:00
Jolly
4ad322206c Removes a duped whiteshipruin_box entry in spaceruinblacklist.txt (#74966)
I don't know if dupes cause errors or whatever but we should have only
one entry!!
2023-04-29 11:16:04 +00:00
Zonespace
ed8054d82a Adds a prisoner transport space ruin (#74418) 2023-04-25 17:06:11 -07:00
rageguy505
77f4655efb Adds a phonebooth ruin to icebox, space, and lavaland (#74174) 2023-04-24 16:55:35 -07:00
san7890
b3f5dfae14 Config Flag to Save Generated Spritesheets to Logs (#74884)
## About The Pull Request

I was helping someone debug some weird bug with spritesheets a bit ago,
and I didn't like having to manually comment out all of the `fdel()`
stuff in order to help visualize what the potential issue might have
been with the spritesheets on either their DM-side generation or their
TGUI-level display. I decided to add a compile-time level flag that will
automatically copy over any generated spritesheet assets (css and pngs)
to the round-specific `data/logs` folder for analysis when a developer
should need it.

I also had to switch around some vars and make a few new ones to reduce
how copy-pasta it might get and ensure standardization/readability while
also being 0.001 times faster since we benefit from the string cache
(unprovable fact).
## Why It's Good For The Game

It's incredibly useful to see the actual flattened spritesheet itself
sometimes when you're doing this type of work and you keep getting odd
bugs here and there. Also saves headache from having to clear out the
temp `/data/spritesheets` folder every time you comment shit out, as
well as having an effective paper trail for A/B testing whatever
bullshit you've got going on.


![image](https://user-images.githubusercontent.com/34697715/233516033-1f5dde1a-e549-4e5a-aa99-0d531b34fbb5.png)
## Changelog
Doesn't affect players.
2023-04-23 23:05:56 -07:00
Kyle Spier-Swenson
200b739c0a Refactors and defuckulates dbcore. Adds support for min_threads rustg setting, Reduce query delay, Make unit tests faster (#74852)
dbcore was very fuckulated.

It had 3 lists of queries, but they all had their own current_run style
list to support mc_tick_check (as it was already being done before with
the undeleted query check, so i can understand why they ~~cargo culted~~
mirrored the behavior) This was silly and confusing and unneeded given
two of those loops can only process at most 25 items at a time on
default config, plus these were cheap operations (ask rustg to start
thread, ask rustg to check on thread).

Because of the confusingness of the 6 lists for 3 query states, The code
to run pending/queued queries immediately during world shutdown was
instead looking at the current_run list for active queries, **meaning
those queries got ran twice.**

The queued query system only checked the current active query count in
fire(), meaning even when there was nothing going on in this subsystem
new queries had to wait for the next fire() to run (10 ticks, so 500ms
on default config)

Those have all been fixed.

the config `BSQL_THREAD_LIMIT` has been renamed to
`POOLING_MAX_SQL_CONNECTIONS` and its default was lowered to match
MAX_CONCURRENT_QUERIES .

added a new config `POOLING_MIN_SQL_CONNECTIONS`, allowing you to
pre-allocate a reserve of sql threads.

The queue processing part of SSdbcore's fire() has been made to not obey
mc_tick_check for clarity and to make the following change easier to do:

If there is less than `MAX_CONCURRENT_QUERIES` in the active queue, new
queries activate immediately.

(its ok that there are two configs that kinda do the same thing,
POOLING_MAX_SQL_CONNECTIONS maps to max-threads in the mysql crate, and
it seems to only be a suggestion, meanwhile MAX_CONCURRENT_QUERIES can't
do anything during init, which is when the highest amount of concurrent
queries tend to happen.)

🆑
config: database configs have been updated for better control over the
connection pool
server: BSQL_THREAD_LIMIT has been renamed to
POOLING_MAX_SQL_CONNECTIONS, old configs will whine but still work.
fix: fixed rare race condition that could lead to a sql query being ran
twice during world shutdown.
/🆑

I have not tested this pr.
2023-04-20 17:09:32 -06:00
jimmyl
8e72525df8 Emergency Shuttle - Hug Relaxation Shuttle (#74642)
## About The Pull Request
adds this thing
![2023 04 10-14 12
51](https://user-images.githubusercontent.com/70376633/230899694-6d540acd-f16d-4e3e-a57b-2dc412d0ddb2.png)
This is shuttle contains a pillow fight box, no violence, and a large
cozy heart-shaped area for spacemen to sleep in.
Has a medical bay, brig, command. Tons of plushies, instruments,
pillows, general cutesy stuff. Contains one (1) pax pill bottle.
Has an oxygen canister for quick repressurization.

Also adds it commented out to the Emergency Shuttle Blacklist, in an
alphabetically-correct position

Costs 3200
## Why It's Good For The Game

Has an unique emergency shuttle shape, does not promote violence, looks
cozy. And I heard some people like this shuttle so its probably good
enough?
## Changelog
🆑
add: Adds the Hug Relaxation Shuttle as an emergency shuttle
/🆑
2023-04-20 12:20:41 -04:00
Singul0
499c5533e6 New Space Ruin: The All-American Diner! (#74460) 2023-04-18 18:20:06 -07:00
Jolly
5de69ce7ce Fixes the path directory for mimesvsclowns.dmm in spaceruinsblacklist.txt (#74718)
## About The Pull Request
Typo.

## Why It's Good For The Game
Sysops should double check this file on the server boxes to make sure
its not `rnadom`.

## Changelog

🆑 Jolly
fix: The pathing for the "Mimes vs Clowns" space ruin should be fixed
internally. Whether you see this or not is depended on your server
operator(s).
/🆑
2023-04-15 21:32:09 -06:00
lessthanthree
8c056a46d4 Station shift start time config (#74711)
## About The Pull Request

We have a config flag to set random shift start times or server sync'd
start times, but not one to simply set the shift start time.

## Why It's Good For The Game

Control over the shift start time. This way events such as breakfast can
occur during actual breakfast hours.

## Changelog

🆑 LT3
config: Station shift start time can now be set in the server config
/🆑

---------

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2023-04-14 12:38:09 -06:00
Cheshify
b1716732b0 The North Star Expeditionary Vessel - A Second Wind (#74371)
## About The Pull Request
A new map for TGstation, in the works! It has 4 fucking Z levels, a
massive expansive maintenance with unique designs, and some unique code
features in the works.

To Do:
- [x] Update the Map to Modern TG
- [x] Local Tests
- [x] Work on Map Optimizations
- [x] Run Live Tests

Fikou has greatly helped with creating an important flavour aspect of
this map, Trek Uniforms on anyone who joins! See the forum thread for
more. This includes the framework for innate station traits, station
traits loaded as long as it's in a map's json

Here's the forum dev thread there are screenshots there.
https://tgstation13.org/phpBB/viewtopic.php?p=657252#p657252

### Mapping March
Ckey to receive rewards: Cheshify

## Why It's Good For The Game
So, this is the North Star. An effort taking multiple mappers and of 9~
months of hard work. This map was not initially designed for TGstation,
but always designed for TGstation code. The process of retooling the map
for TGstation was an absolute joy and I feel like the map definitely has
it's niche as a massive and unique experience for it's players.

I adore this map, it's gorgeous, has a unique aesthetic, and a number of
very funny interactions with multi-Z. The PR comes packed with unique
mechanics for future mappers (innate station traits!), a number of
map-fitting shuttles, and a fun spacefaring uniform gimmick for the
crew.

**This is my second attempt at bringing this map into rotation. It was
initially closed due to concerns about maptick and performance, as I
wasn't willing to push for a map to be added to the repository if it
didn't function to my own standards. I've been informed by a number of
coders far better than I that optimizations are arriving and enroute, so
I think it's time to dust her off and set sail for another journey.**

**Quick Disclaimer: Due to some design decisions disagreed upon by the
headcoder team and myself, the map will not be featuring unique
roundstart uniforms, and despite my design intentions, the innate
station trait features will be shelved for now.**

## Changelog
🆑 Cheshify, Fikou, Blue-Berry, Zytolg, InfiniteGalaxies, Striders,
Sylphet, Riggle, Soal, Andry, Crit, Deranging, and Pumpkin0.
add: Nanotrasen's Newest Exploratory Vessel is now available! Meet the
North Star!
add: More landmines, and a landmine random spawner.
add: energy barriers now have a regenerative subtype, fit for permanent
installations.
code: Raised the number of possible level render to 4, check your
preferences if needed to be reduced.
/🆑

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-04-14 06:59:00 +12:00
kinnebian
2486ffeeb0 March into Mapness - The abandoned Mime Outpost (#74137)
## About The Pull Request
A Mime Outpost, abandoned after being unsuccessfully raided by clowns.


![image](https://user-images.githubusercontent.com/75904284/226413482-59c5567a-8a8b-4e7c-89bb-9d4a619ca850.png)
### Mapping March
Ckey to receive rewards: Kinnebian

## Why It's Good For The Game
More ruins is fun! Also, I never see the mime-specific food used so they
could make for nifty space loot.
## Changelog
🆑
add: Added the Abandoned Mime outpost as space ruin!
/🆑
2023-04-12 22:29:23 -04:00
Fikou
60c47f5c87 More Cargo Techs (#74577)
## About The Pull Request
Increases the amount of Cargo Tech slots from 3 (2 roundstart 1
latejoin) to 5 (3 roundstart and 2 latejoin)

## Why It's Good For The Game
1. We have more players, more job slots is neat to prevent assistant
station.
2. Consistent with other main departmental jobs (doctor, scientist,
engineer all have 5 slots)
3. Cargo tech is a newbie friendly job and it's nice for it to handle em
4. More workforce to deliver mail, sell crates etc. More excuse to play
with drones and whatnot.

## Changelog
🆑
balance: 2 More Cargo Tech slots
/🆑
2023-04-08 16:37:48 +01:00
massaheartsu
2c5efe0b97 The SYN-C Brutus, a Derelict Syndicate Corvette (#74238) 2023-04-07 17:07:31 -07:00
Ical
a6ceedcbcf Adds new space ruin, "Botanical Haven" (#74331) 2023-04-06 19:19:08 -07:00
Donglesplonge
48beec0024 [Space Ruin] - The outlet (#74319) 2023-04-06 18:16:35 -07:00
Zephyr
7fd64dcf3d Auxtools is now a config opt-in (#74501)
See https://github.com/tgstation/tgstation/pull/74497

Causes auxtools to not be a default part of the server environment and
requires server operators to manually enable it.

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-04-05 15:36:26 -07:00
DaydreamIQ
6440c2489a Abandoned Interdyne research base (#74263) 2023-04-04 19:53:11 -07:00
Zepurr
12171b4087 March Into Mapness: Transit Booth (#74129) 2023-04-03 18:37:29 -07:00
Profakos
6ad516e53f March into Mapness: Space Ghost Restaurant (#74182)
## About The Pull Request

Ever wondered where the tourist robots of the restaurant come from?
Well, this ruin will provide more questions then answers!

More seriously, this is the ruins of an outpost for an NTgrub, more
specifically, the branch that sends robots in thematic clothes to space
stations, to gather thematic meals for their customers. Its essentially
a ghost restaurant that "ghost writes" the food they sell, by using
unwitting subcontractors. Do all of the tourists robots work like this?
A mystery!

There is no real loot here, aside from silly hats, random food and
random bedsheets. You can at least, charge some batteries, and top off
your air tank. And of course, there is a holodisk, which lets you see
the final minutes of the crew, before they sent a robot somewhere they
really shouldn't have had.


![image](https://user-images.githubusercontent.com/2676196/227038717-de79cf0a-ca36-457e-885c-93e0f837ef8e.png)

### Mapping March

Ckey to receive rewards: Plizzard
though I don't plan on caching it in

## Why It's Good For The Game

Its nice to have more ruins.

## Changelog

🆑
add: adds the ruins of a restaurant robot portal hub
/🆑
2023-04-02 21:03:55 -06:00
Time-Green
f13f979586 March Into Mapness: Anomaly Research Ruin (#74110)
## About The Pull Request
Adds a new ruin: Anomaly Research Center!
Researcher Anna Molly disappeared along with 20 anomaly cores, where
could she have gone?


![image](https://user-images.githubusercontent.com/7501474/228217881-6b510347-d37f-4713-841c-e2280b92f69c.png)

<details>
  <summary>Pictures</summary>

(a bit outdated but not that much)

![image](https://user-images.githubusercontent.com/7501474/226172256-1d29257e-0914-48da-b199-8ecb3d0b8d99.png)

![image](https://user-images.githubusercontent.com/7501474/226172318-f98d7402-0b3e-4797-b788-2085bfc6ac46.png)

![image](https://user-images.githubusercontent.com/7501474/226172341-b70ae4d6-c1e2-4cf7-8667-c64ac99252cf.png)

![image](https://user-images.githubusercontent.com/7501474/226172364-c7b4c78f-4ddd-4ded-8ca2-92cb74e05d86.png)

![image](https://user-images.githubusercontent.com/7501474/226172378-8cf579b3-c081-436b-8121-ac6e080d7af0.png)

![image](https://user-images.githubusercontent.com/7501474/226172387-ef67e32f-adb1-4d68-8e6a-a0beb7f0435d.png)

![image](https://user-images.githubusercontent.com/7501474/226172406-d735ce68-2bd6-4218-acc3-7efa0acdca06.png)

![image](https://user-images.githubusercontent.com/7501474/226172413-03c9bff7-2d96-4f51-be3a-ea738f92c04f.png)

![image](https://user-images.githubusercontent.com/7501474/226172448-ea19ced1-6f34-4cc4-ac98-6dbfd1481847.png)

![image](https://user-images.githubusercontent.com/7501474/226172454-a8df6a4d-7a14-4942-ab71-9baa03a948fd.png)
</details>

<details>
  <summary>Loot and hazards</summary>

**Loot**

- (1) Raw anomaly core
- NO ANOMALY CORES
- Empty anomaly armor, empty bag of holding
- Bunch of anomaly neutralizers
- 5u of wittel (guarded by anomaly)
- (5) New anomaly releaser, use on an anomaly core to release and
stabilize the anomaly, removing the decay timer

**Hazards**
Area is guarded with "hollow" anomalies, stable and coreless (flux,
bluespace, hallucination, delimber)
They cannot be signalled, but the anomaly neutralizes will make them go
away

BEEEG ANOMALIE: Spawns with a contained supermassive anomaly. There's
four possible big anomalies that can spawn:
- Mega Bluespace: Has a longer reach and can teleport further. On touch,
teleports you all over space for 10 seconds
- Mega gravity: Distorts the area around it, as strong as the rare
gravity anomaly, but with extreme moveforce
- Mega Pyro: Creates more plasma, turns the tile it's on into lava,
dusts on touch
- Mega Flux: Extra damage, dusts on touch, shoots lightning
  
</details>

### Mapping March
Ckey to receive rewards: timegreen

## Why It's Good For The Game
I think we're overdue for an anomaly ruin. The ruin has some unique loot
that could be really fun, but not devastating, to play around with on
the station. The mega-anomaly is also pretty cool.

## Changelog
🆑
add: Researcher Anna Nomally has disappeared into space, carrying 20
anomaly cores. What could she be up to?
/🆑

---------

Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
2023-04-02 13:55:41 +12:00
Jacquerel
966b8e5fd8 March into Mapness: Meateor (#74070) 2023-03-31 19:40:29 -07:00
Capsandi
8867700636 New space ruin 'Derelict Construction' (#74308)
## About The Pull Request

Adds a new ruin to the space pool. Without wishing to spoil, it depicts
a small construction site which got raided by pirates. For loot its
mostly just construction supplies.
If i were to point out the most unusual supplies it would have to be
those matter cartridges for the rapid construction devices but theres no
RCD present so its no big deal.
Image in game:

![image](https://user-images.githubusercontent.com/38051413/228347234-bc2c699f-8125-4fd0-a2d2-bbc5e248b6bf.png)


### Mapping March

Ckey to receive rewards: Capsandi

## Why It's Good For The Game

Space ruin variety, unfinished constructions seem to be under
represented in the current pool.

## Changelog

🆑
add: Added a new space ruin
/🆑
2023-03-30 16:29:04 -04:00
ZAMODA
18eeaf0650 Atmosia Asteroid Space Ruin (#74164)
## About The Pull Request
This PR adds a new space ruin, the atmos asteroid!
It contains a small atmos setup with some engineering tools, as well as
some RPD upgrades.

![image](https://user-images.githubusercontent.com/36141254/228710567-1a4c4787-9e5f-427d-9f0a-cad5276f5013.png)
### Mapping March
Ckey to receive rewards: Z Man Wit Z Plan

## Why It's Good For The Game
Space deserves some more ruins.
## Changelog
🆑
add: Added a new space ruin, the Atmos Asteroid!
/🆑
2023-03-29 22:51:37 -04:00
SomeRandomOwl
b2f6058c92 Music Widget Modifications + Request Music Verb (#74170)
## About The Pull Request

This PR alters the Play Internet Sound, First off it modifies the Widget
To clean up some info on the widget to hide information when that
information is not available to be shown. Secondly it makes the URL
input prompt for Play Internet Sound to be a TGUI text input box, as
well as adds in a warning if a song being played is >10 minutes long,
and adds in a proc to play music with a supplied variable.

Secondly This PR adds in a new player facing VERB in the OOC tab called
`Request Internet Sound` functionally the verb is similar to Pray but it
grants admins the ability to play URL's directly from the chat or
Request Manager, where it will prompt the admin if they wish to play the
song.

<details>
<summary>Screenshots/Videos</summary>


![dreamseeker_PJ1PCCWxT3](https://user-images.githubusercontent.com/2568378/226795466-541def6e-d1cc-4481-b14a-21d2690c80b3.png)

<details>
<summary>Widget</summary>


![image](https://user-images.githubusercontent.com/2568378/226794671-ab1f6f3f-08e4-44f7-9569-634ff70e8462.png)

![image](https://user-images.githubusercontent.com/2568378/226794685-4f2e71bd-c3f9-4409-86f1-8b5be28bed41.png)

![image](https://user-images.githubusercontent.com/2568378/226794696-2725fadf-0066-4cd4-b975-e9e69f1ef4c9.png)
</details>

<details>
<summary>New Prompts</summary>


![tO6QsZdHfe](https://user-images.githubusercontent.com/2568378/226794891-ce2e6737-409d-479c-90f2-57d55fc89561.png)

![RZVwU417nX](https://user-images.githubusercontent.com/2568378/226794912-0261e374-a7fa-4864-b5b8-99821cff32a8.png)
</details>

<details>
<summary>Videos</summary>


https://user-images.githubusercontent.com/2568378/226794939-4ca018b3-bba5-4893-9301-6858b0d433b9.mp4


https://user-images.githubusercontent.com/2568378/226794783-ca750840-3149-489c-9239-00014ac4ca5c.mp4
</details>
</details>

## Why It's Good For The Game

This cleans up the UI for the Play Internet Sound so that things to hide
info when admins choose to hide it, or to not show it if that
information exists at all. As well as grants players a ability to
request music to be played via Admin Midi and sorts them with prayers
and allows admins to directly play URL's simultaneously cleaning up any
music requests made through prays as well as a more obvious way for
people to request music rather than them Ahelping for music

## Changelog

🆑
add: New VERB, Request Internet Sound, It is in the OOC tab and allows
you to request music from admins to play, by default only allows
bandcamp, youtube, and soundcloud links
fix: Fixes the Admin Midi Widget UI to only present info that is
available to players to be seen
admin: Play Internet Sound URL input is now TGUI
admin: Play Internet Sound warns you if a song length is >10 Minutes
admin: Added new mute type to mute internet sound requests from a player
config: Added thee new config options, LOG_INTERNET_REQUEST,
REQUEST_INTERNET_SOUND, REQUEST_INTERNET_ALLOWED
/🆑

---------

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2023-03-29 19:04:41 -06:00
Singul0
f00d9eca50 March into Mapness: The Waystation (#74192) 2023-03-30 00:07:43 +00:00
Rex9001
7271d30b87 March into Mapness-Pod crash (Don't pda and pod) (#74138)
## About The Pull Request

Adds a new ruin displaying the tragedy that befalls those who choose to
pda and pod.
SDMM:
![Skärmbild 2023-03-20
181332](https://user-images.githubusercontent.com/120136161/226416405-47dddd48-0b0a-44a9-b740-145ca96eeb22.png)

Ingame:
![Skärmbild 2023-03-20
181607](https://user-images.githubusercontent.com/120136161/226416971-32560f29-45af-46dc-b265-de82344a2558.png)
### Mapping March
Ckey to receive rewards: N/A (Already made a map :) )

## Why It's Good For The Game
Adds a smaller ruin without much loot, really its just a small ruin that
showcases some light lore
## Changelog
🆑
add: the pod_crash.dmm ruin
/🆑
2023-03-28 11:47:11 -04:00
LemonInTheDark
8982828d05 Removes Starlight Config (#74289)
## About The Pull Request

It was config'd off to save init time, but having it function in testing
and mapping is more valuble then the time spend on it.

On that topic, we spend roughly 1.7 seconds of init on this. 
~1.3 is spent handling the light sources and their light object
modifications (this is potentailly inflated since other sources could
cause the same objects to need updates)
~0.3 is spent searching for space turfs around lighting_objects during
init.
This will impact change_turf slightly too, costing about ~0.07 in local
testing.

It does save time for live however, since we avoid these config checks.

## Why It's Good For The Game

I believe this time is worth spending. 
I've had people try to "fix" artifacts of starlight not being enabled,
things that aren't bugs.
The test environment should as much as we can make it reflect the visual
reality of the game. This helps ensure that

## Changelog
🆑
server: The starlight config has been removed, as it is enabled by
default
/🆑
2023-03-27 22:34:13 -07:00
spockye
8d3a935ec9 New emergency shuttle, The Tranquility Relocation Shuttle! (#74199) 2023-03-27 18:49:26 -07:00
jimmyl
7bee22f92b March Into Mapness - Mass driver router (#74121) 2023-03-26 14:39:00 -07:00
LordVollkorn
72f825979e March into Mapness - Traveller's Rest (Space structure) (#73905)
## About The Pull Request

I thought it would be fun to learn mapping with [this
guide](https://hackmd.io/QBaz0CaTRhOp7pEnUlXnzQ), and perhaps along the
way I could make a bit of content that I would like to see in space some
day.

I wanted to create an only recently abandoned space structure that is
relatively small but could be used as a pitstop for space-travelling
spessmen to rest and recharge, perhaps even be used as a second base for
further exploration.

The structure starts unpowered, but after you break in, you can turn on
the APC (starts unlocked) and set the solar panels to generate power.
With all it's amenities, it's similar to the "Space Bunker"
(deepstorage.dmm), but of course much smaller. There is not much in
terms of loot, just a random toolbox, night vision goggles and a better
capacitator for the charger.

With all the new space ruins upcoming, perhaps its not the worst idea to
have a place like this.


![grafik](https://user-images.githubusercontent.com/66637090/224802255-190ef0d2-251a-4456-9db9-5bfc9e9d689b.png)

![grafik](https://user-images.githubusercontent.com/66637090/224801640-c39e41c3-e98c-4619-90e1-8ebe406e86a3.png)

_Since this is my first map, I might have missed some things.
I am a little bit torn between "it does not look abandonded enough" and
"it should look nice because its a resting point"._

### Mapping March

Ckey to recieve rewards: LordVollkorn

## Changelog
🆑 LordVollkorn / Gage Gaebler
add: Added Traveler's Rest, a tiny space structure for space travellers
to relax and to prepare for the explorations ahead.
/🆑
2023-03-23 19:47:30 -04:00
lizardqueenlexi
2618e4cb2a Fixes space ruins for Linux servers (#74156) 2023-03-22 17:29:19 -07:00