Commit Graph

806 Commits

Author SHA1 Message Date
san7890
a724bf0626 fixes changelog linters (#76608)
This portion of the script wasn't updated, so we always got an error on
linters. This never threw a `sys.exit` error so this list hasn't been
updated for a solid while now...

Let's both add the prefix and make sure we throw so we don't forget
about this script in the future. Quite important to make sure this stuff
works!
2023-07-10 22:31:35 +00:00
san7890
020ac24053 Fixes up Ticked File Enforcement (#76592)
## About The Pull Request

Shit was broken since it wasn't respecting `.dmf` files, this has now
been completely rectified.
2023-07-05 22:05:31 +00:00
san7890
616772574e Ensures that all Unit Tests are ticked in _unit_tests.dm (#76404)
## About The Pull Request

Ensures we don't get a repeat of #76345 (unit test that wasn't ticked in
the `_unit_tests.dm` file, fixed in
596ca8b6d4). Basically, we leverage the
code that was already being used in the DME Validator but then expand it
a bunch via using JSON Schemas that correspond to the type of scan we
want to run. Even though sorting unit tests alphabetically is a bit
different than sorting the tgstation DME, it's good to leverage the
already existing framework rather than create a copy-pasta "lesser" code
runner. This went through strenous testing on my end, so let me know if
anything seems off.

While in the area, I added some other niceties that I've found work
really well in GitHub Runners environments, as well as local testing in
case you really like doing that before you make a PR for some reason.
## Why It's Good For The Game


![image](https://github.com/tgstation/tgstation/assets/34697715/307161d7-cef1-418b-9a51-2a7bf6c5b678)

This is what it looks like pre-596ca8b6d4cc49cd69fc104b53b7f4973497a2e5
(this is now merged, so it will pass CI)

De-hardcodes some stuff and allows for some neater flexibility, less
cringe unit tests being coded and not being ticked in the file, etc.
etc.
## Changelog
Nothing for players to care about.

Let me know if you have a better idea than the schemas, I couldn't think
of one that could be really extensible and flexible in the same way this
is.
2023-06-30 14:16:37 +12: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
ChungusGamer666
9940fb62e6 Destroys /obj/vehicle/sealed/mecha/working with a W80 nuclear warhead (#76296)
## About The Pull Request

Title.

Also, fixes https://github.com/tgstation/tgstation/issues/75568 at the
request of @TheVekter

## Why It's Good For The Game

This subtype only exists to append ore box behavior and is clearly a
relic of pre-2020 mechcode.
Keeping it around will only make it harder in the future to add new
mechs with ore box support.

## Changelog

🆑
fix: Clarke ore box now has a less confusing dump contents button.
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2023-06-27 21:10:23 -06:00
Ghom
6b007f758b Replaces ammo_casing/caseless and bullet/reusable with elements. (#76335)
The reusable and caseless types only purposes are the behaviors of
deleting the casing when fired and spawning a new object when the
projectile ultimately reaches its maximum range or hits a target, both
of which are easily "elementizable". Also, I don't like those barely
filled sub-folders in the projectile module, and the fact we've
divergent reusable and single use arrow types.
2023-06-28 01:14:59 +00:00
Watermelon914
1c8299ab63 Updates the ports for the TTS docker compose file (#76333)
## About The Pull Request
Current setup will bind to every interface which makes it publically
available. Also skips past most of the firewalling on linux.
This improves the security for anyone who tries running TTS on their
server directly out of the docker-compose file.
2023-06-27 01:27:33 +00:00
Jordan Dominion
fb816d3676 Rename TTS documentation.md to README.md (#76332)
So it renders in the GitHub directory browser.
2023-06-27 00:48:52 +01:00
Kyle Spier-Swenson
0772ff423f Clear out some random errors in github webhook processor (#76232)
subrequests failing randomly was triggering invalid key errors later on
down the line needlessly.
2023-06-23 20:13:02 -06:00
lessthanthree
b3d040fb2f Enhanced delam/tram counter (#75699)
## About The Pull Request

Gives a makeover to the delam and tram hit counters and adds some new
functionality.


![image](https://github.com/tgstation/tgstation/assets/83487515/cbbeb0df-d205-47ed-be6e-e49cea8c4f12)


![image](https://github.com/tgstation/tgstation/assets/83487515/e042d5e8-cb8b-4feb-b3f0-02365cd8fdbf)


![image](https://github.com/tgstation/tgstation/assets/83487515/c2831f7f-639d-40a8-a74f-d4894a4f67c6)


https://github.com/tgstation/tgstation/assets/83487515/871fb0fd-8b92-45c5-877b-c122a034608c

- The signs now remember your last 'best' score and show the crew if
they're trending in the right or wrong direction since the last
incident.
- Safety Moth PSA panel. In the future this will dynamically change
based on the current events, or function as a status display.
- Tram hit counters no longer waste processing every tram hit.
Previously each sign independently managed tracking, which meant that
deconstructing or constructing a sign would reset it to 0 and it would
become out of sync with the other signs.
- Can be repaired, EMP'd

## Why It's Good For The Game

Provide a little motivation to reach for that high score. The PSA
changing to for example, find a locker during a delam event.

## Changelog

🆑 LT3
image: Delam and tram flipsigns have been replaced with information
displays
fix: Tram hit count is centrally managed instead of independently on
each sign, so they won't get out of sync
/🆑
2023-06-23 19:29:34 +01:00
LemonInTheDark
5c032cc098 Adds border smoothing! (Look ma I'm upstreaming) (#76134)
## About The Pull Request

Ok so we currently have 1 (count em) border object that wants to smooth
with other border objects. That's the tram window.

It currently does this manually, via map edits, but that's kinda crappy
so lets be better.

This pr adds a new smoothing mode to handle border objects. 
Unlike other smoothing modes, it returns a bitfield of directions the
border object connects in.

I do this by memorizing a calculation of which dirs "connect" at init,
and reading out of a global list with border object direction, direction
between objects, and if it's a border object, the other object's dir.

I'm doing this primarily because it's become useful for wallening (a
spriter saw the tram thing and is doing the same thing to pod windows,
and I want to support that)

I do think it's potentially useful in other applications too tho, and I
like dehardcoding tram windows.

Also fun bonus (or maybe downside), it's nearly 0 cost because I pulled
the bitmask smoothing define into 2 subdefines, and am swapping the
handler one out to do what I want.
Oh also I got rid of a for loop in smoothing code, redundant and costs
time in list iteration

[Moves tram windows over to the new border object
smoothing](114873679c)

Also replaces some typepath chicanery with a setDir override, for
redundancy in future
Oh and there's a update paths script too, to be nice

## Why It's Good For The Game

More visual possibility in future, fixes a hack we have currently, and
makes some spriters happy.

## Changelog
🆑
fix: Dehardcodes some stuff with tram windows, they'll be easier to map
with now
refactor: Border objects can now smooth with each other. I'm sure
something cool will come of this
/🆑
2023-06-22 00:05:44 -06:00
Kyle Spier-Swenson
8a8cff73d8 Update runtime condenser for new logs. (#76233) 2023-06-21 18:21:24 -04:00
Jolly
8184167948 [MDB IGNORE] Subtypes out kirbyplants, also changes them to said subtypes (#76050) 2023-06-20 17:14:51 -07:00
John Willard
8229972398 Tablet apps are now deleted when necessary & removes console preset. (#75863)
## About The Pull Request

Apps now properly delete themselves when removed, so they don't exist in
nullspace anymore.
Chat client now actually updates the uid, because its New() didn't call
parent.
Deletes the 'console' subtype of modular computer
Updates how downloading and transferring files are handled
Fixes being able to infinitely upload apps to a disk

## Why It's Good For The Game

Fixes some more bugs I found with apps and prevents spamming apps in a
disk.

## Changelog

🆑
fix: Maintenance data disks now properly transfer from PC to disk
fix: Disks can no longer be flooded with the same app repeatedly.
/🆑
2023-06-19 22:59:09 -07:00
Zephyr
c0775bd893 Ban overriding heat_capacity from maps (#75758)
You shouldn't be doing this.
2023-06-15 17:26:15 +00:00
Jordan Dominion
98ebf92689 Fix Pull Request Auto-Tagging (#76010)
I hate this dead language
2023-06-12 13:06:49 -05:00
ArcaneMusic
50c5a02244 Experimental Mineral Balance PR. (#75437)
Good morning fokes, this PR is going to attempt to tweak around some of
the values of mineral costs in-game in the hopes of making the mineral
economy more engaging to the base gameplay loop, in the hopes that by
making it more self-realized, it would allow for better integration with
the rest of the gameplay loop as well as so that it doesn't completely
overshadow the credit economy. That said, **this pr only makes changes
to mined and station minerals**.

So, the base change is as follows: items with designated costs of
minerals below 1000 minerals, as designated in #75052 as
`SMALL_MATERIAL_AMOUNT`, have been left alone. Any item above 1000 or
2000, from `HALF_SHEET_MATERIAL_AMOUNT` and `SHEET_MATERIAL_AMOUNT` have
been adjusted, as sheets will now contain **100 minerals each**.

For example, if an object costed 4000 iron, 1000 glass, and 500 diamond
with the old numbers, with the changes to these defines, that item would
cost 2000 iron, 500 glass, and 500 diamond.
2023-06-12 04:04:25 +00:00
ShizCalev
7923d83dd4 Potted plant fixes (#75929)
Fixes #75918

Alternative to #75926

🆑 ShizCalev
fix: The RD's plant will no longer say that it's not very healthy after
being restored with seeds.
fix: Potted plants no longer randomly swap icons after being thrown.
fix: Plants that started the round dead are no longer all the same kind
once revived.
fix: Admins can now varedit plants to be alive / dead! 
/🆑
2023-06-10 12:54:50 -06:00
Rhials
133d5b4a85 Converts Spaceman mobs from simple to basic (#75944)
## About The Pull Request

This changes the Spaceman simplemobs into basic mobs.

They really didn't do anything besides stand around and retaliate, so no
new AI datums had to be added.
## Why It's Good For The Game

Scratch it from da list.
## Changelog
🆑
code: Spaceman simple mobs have been converted to basic mobs.
/🆑

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-06-10 18:44:29 +00:00
Jordan Dominion
dafb6eefcc Add whitelist to webhook processor PR tagging (#75943)
I hate this script. Actions my beloved...

This is to get it away from my beautiful tgstation-server garden.

Fixes https://github.com/tgstation/tgstation-server/issues/1520
2023-06-10 10:51:00 -07:00
Andrew
2e5806626c Proper broken tiles (#75623)
![before-export](https://github.com/tgstation/tgstation/assets/3625094/505eaed3-b429-45c4-ab65-6c92d1c9e20e)

## About The Pull Request

The current broken tiles have some visual issues:

- There is an ambient occlusion shade when it touches normal tile
- It has a layer higher than it should be which leads to things that are
normally above the floor layer, render below it. Such as atmos
machinery, cleanable overlays, etc.

This PR makes the render on a proper layer and work like a partially
destroyed floor tile that can be reclaimed with crowbar.

Also, the cleanables are now on FLOOR_CLEAN_LAYER to make dirt appear
above catwalks and these new tiles.

And the flat dirt now has 4 variants of sprites, while dust uses the old
dirt sprite. It seems like dust was just dirt with different description
before.

## Why It's Good For The Game

A broken tiling with no visual bugs and proper floor-like logic.

## Changelog

🆑 MTandi, Borbop
fix: Dust now has dust icon, instead of dirt icon. Dust on all maps
replaced with dirt
image: Flat dirt now picks from 4 new sprites
refactor: Made broken tiling work more like tiling and have
corresponding visuals. Added directional mapping variants.
fix: Cleanables now use FLOOR_CLEAN_LAYER to make sure that trash is
visible above catwalks
/🆑
2023-06-09 09:50:21 +12:00
Ghom
3a8592d258 Improves mob resizing (and UpdatePaths). (#75892) 2023-06-08 11:59:30 -06:00
Helg2
6378ef5687 Changes the base amount of bone gel. (#75851)
## About The Pull Request
Changed the amount from 1 to 5 for original `bone_gel` so it's easier
for mappers to add the right bone gel.
Deleted subtype `/four` and added subtype `/one` specifically for bone
gel creating.
Increased from 4 to 5 because surgical tape has 5.
## Why It's Good For The Game
Having 1 bone gel near 5 surgical tapes always seemed off.
## Changelog
🆑
balance: Bone gel standart amount has been increased to 5.
/🆑
2023-06-05 21:13:06 -04:00
san7890
874ada4278 Refactors Ant into Basic Mob (#75662)
## About The Pull Request

On the tin. No new fancy AI wheels or anything, just a simple port. 
## Why It's Good For The Game

Knocks another one off the list, just really light stuff. They're a bit
smarter now too, I think the intention was them for them to be pet-like
as well (according to the code). Should be really rather easy to give
them the pet-like behaviors and elements if someone really wants to in
the future, just sorta paving the way for more work to be done to make
mobs more intricate/interesting.
## Changelog
🆑
refactor: Giant ants are now more capable of distinguishing friend and
foe.
/🆑
2023-06-03 14:41:05 +12:00
san7890
6676702008 Refactors chicks into basic mobs (#75663)
## About The Pull Request

On the tin. They have pretty much nothing in common with chickens, so no
subtyping. They are in the same folder to keep that whole thing tidy,
though.

Also includes fixes to `growth_and_differentiation` element that I made
for spiderlings, since some stuff was yorked without me realizing. It
pretty much worked flawlessly for these chicks otherwise though. It all
works fine now.
## Why It's Good For The Game

More verbose naming scheme (instead of "holo", we get "permanent"
chicks), smarter AI for chicks, knocks them off the list, etc. etc.

One thing that I wanted to do was to have chicks recognize their mother
(if they had one), but that would be way out of scope for this simple
port PR. I'll dwell on adding something cool for that in the future.
## Changelog
🆑
refactor: Chicks are now a bit smarter, be careful not to squish them!
/🆑

Let me know if the whole "COMPONENT_KILL" thing is cringe, I couldn't
figure out a better way to do it without abusing `GetComponent()` to
`qdel()` it that way.
2023-06-03 14:40:55 +12:00
Ghom
c8e61e79af Reinstates grilled cheese sandwich taste and fixes a typo. [NO GBP] (#75779)
## About The Pull Request
I've done a couple, almost untangible mistakes in #75750.

One, I deleted the wrong variable definition (tastes, when it should've
been foodtypes, which had same value as parent) in the path for grilled
cheese sandwiches.

Two, a typo in the peanut butter banana sandwich path in the relative
UpdatePath script.

Both are fixed now.

## Why It's Good For The Game
Fixing human error.

## Changelog
N/A
2023-06-01 16:15:55 -04:00
LemonInTheDark
57ef596898 Admin Library Moderation (in-game edition) (#75645)
For the longest time, the only way admins could moderate the library was
by using statbus's external tool.
But a few months back statbus went down, and ever since then they've
been sitting lost. Shit sucks.

The whole external thing has been bugging me for a while, so let's fix
all that yeah?

This pr adds a new verb to the admin tab that allows admins to
ban/restore books from the library.
It includes expanded (ckey) search, faster response times, in tool book
viewing with and without markdown rendering, and viewing of deleted
books.

This is accomplished with a special subtype of library consoles, stored
on the admin datum.
It shouldn't let you do anything without +BAN, rip my live debugging or
whatever.

I've also hooked into (and fixed) Ned's existing library actions log,
and added viewing support to the ban/restore pages.
This logs banning admin, ban time, ban reason, etc.

As a part of this, I've fixed/expanded on the existing UIs.
I've added ID search to all existing consoles, and fixed an existing bug
with the visitor console not supporting category search (shows how many
people actually use the thing)

Changes to the library_action table were pretty minor. The ckey column
was too small, so longer keys just caused it to fail on ban. Bad.
That and the ip address column was signed, which wasted space and was
non standard with other tables.
2023-05-31 22:45:32 +00:00
Ghom
ee50ae7950 Fixes a little inconsistency with the peanut butter banana sandwich and makes sandwiches subtypes of the generic sandwhich. (#75750)
## About The Pull Request
The peanut butter banana sandwich is presented ingame as grilled when it
doesn't require a griddle to make.
Also, I'm taking the opportunity to repath the sandwich types, since
they all share the same weight class, food flags and icons file.

## Why It's Good For The Game
This will fix #74585.

## Changelog

🆑
fix: The peanut butter banana sandwich is no longer presented as grilled
when it doesn't require a griddle to make.
/🆑
2023-05-31 14:22:24 -04:00
Jordan Dominion
44f88e49be Quietens Spaceman when debugging UNIT_TESTS locally (#75570)
The contract is removed by virtue of testing.
2023-05-30 01:21:55 +00:00
Andrew
e155d49a8f Potted plant revival (#75602)
![dreamseeker_0JH7yYpKEq](https://github.com/tgstation/tgstation/assets/3625094/dc586ae5-8ace-4272-a93f-f18578ac15bd)

## About The Pull Request

Dead potted plant seems to be originating from RD's office, but it's
widely used in abandoned areas for mood.
This PR makes the dead plant more generic, making RD's plant a subtype.

Also now you can turn dead plant into a living one by using any seed on
it.

## Why It's Good For The Game

No more RD's plants in space ruins.
And now there is a way to do something with those dead plants again
(they could be sheared into a living plant with bonsai skill previously)

## Changelog

🆑
qol: dead potted plant can be revived with a seed
/🆑
2023-05-27 22:30:03 -06:00
Jolly
be2b5f9e74 [MDB IGNORE] Adds a map lint against using non-dir helper posters (#75620)
## About The Pull Request
Title.


## Why It's Good For The Game
Similar to #75610.
Gets our posters on the mapping directional helpers where needed.

## Changelog

🆑 Jolly
code: The code for posters internally has been tweaked slightly. If you
see posters floating in hallways, please report them ASAP!!
/🆑
2023-05-27 19:47:45 -04:00
Jolly
dc7fa929eb [MDB IGNORE] Adds a map lint against using dir-var edited window panes (#75610)
## About The Pull Request
Title.

## Why It's Good For The Game
#75528 but with a map lint.

I also don't know what to call these, so for clarity sake I'm referring
to them as "panes", which I think helps convey what they are.

## Changelog
Not needed.
2023-05-26 12:41:42 -06:00
san7890
456b58754d Turns lightgeists into a basic mob (#75626)
## About The Pull Request

https://www.youtube.com/watch?v=bcUuqKrnvVY <- me getting rid of every
simple animal one thing at a time

Turns lightgeists into a basic mob. There are a few key advantages into
its implementation that was previously impossible in the simple animal
framework, which is entirely possible now.
## Why It's Good For The Game

Lightgeists can actually have a bit of AI now, as a treat. They didn't
have it prior because I assume if they attacked anything, they would end
up healing it, and we didn't really have an option in the simple animal
AI to say "do not attack"... This really fixes that so they can wander
around a bit and look cute if some admin decides to spawn them in (but
the only way to get them outright is to use the anomalous crystal, which
auto-assigns a player). You don't see the AI if a player ghosts out of
the lightgeist because the lightgeist will delete itself on ghost
(previous behavior).

It also gets rid of some janky AttackingTarget() override that was
completely un-needed post-#73202.
## Changelog
Nothing really player facing.
2023-05-25 22:23:53 +01:00
san7890
88a5ef624a Turns Cat Butcher/Surgeon/Whatever into a Basic Mob (#75599)
## About The Pull Request

On the tin, I keep trying to tackle the larger basic mob projects but
burn out, so just enjoy these small ones to just keep that list looking
lighter and less insurmountable.

No big complex AI either, it choppa the tail off. That's all you really
need to be honest.
## Why It's Good For The Game

The cat surgeon will be just that slightly smarter. I suppose they're
still a doctor, just simply infatuated with the thought of cat tails...


![image](https://github.com/tgstation/tgstation/assets/34697715/a1b4d7f6-f591-4412-91e4-6d6c8f320deb)


noooooo my tail!!!
## Changelog
🆑
code: Cat Surgeons are a bit more smarter about attacking threats to the
world around them on their endless pursuit for those felinid tails.
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2023-05-24 20:00:56 +00:00
san7890
83723acab0 Turns Chickens into Basic Mobs (#75592) 2023-05-24 15:04:27 -04:00
Tom
e5ce1c09a7 Converts butterflies to basic mobs and adds them to cytology (#75582)
## About The Pull Request

Converts butterflies into basic mobs.
Also a little list organisation.

<details>
<summary>Yep, those are some butterflies alright</summary>


![image](https://github.com/Skyrat-SS13/Skyrat-tg/assets/8881105/d9e3a14e-e0a5-4275-b440-af0a56e7b8fe)

</details>

## Changelog
🆑
refactor: Converted butterflies to the basic mob system
add: Butterflies can now be grown in cytology
/🆑
2023-05-22 10:30:48 -06:00
Watermelon914
569d8f5a72 Refactored the TTS subsystem to more properly handle message garbling. Added a volume preference for TTS. (#75559)
TTS subsystem refactor.
---------

Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2023-05-22 13:29:20 +00:00
Jordan Dominion
eee1680c6e Install curl before attempting to install rust in TGS deps script (#75573)
TGS docker image had to drop libssl1.0.0 which it installed with a curl
of a now 404'ing .deb.

Transitively, curl isn't installed in the TGS docker image anymore.

This fixes CI for changes that trigger the TGS integration job. i.e.
#75570 and #75572 <- Please update master on these PRs after merging

I fucking despise distro package managers.

All in all we should have done this from the get-go.
2023-05-21 21:09:29 -06:00
Jordan Dominion
3df5d3b42b Removes +x from files that shouldn't have it (#75574)
Each of these is an extra operation TGS has to do when copying the repo.

Who is committing these?
2023-05-21 18:59:59 -07:00
Thunder12345
75537b97a5 GAGSifies Plushies (#75442)
image: Space lizard, carp, slime and snake plushies have been resprited and set up to support GAGS.
2023-05-20 04:16:45 -04:00
san7890
9ae0802ead Converts Killer Tomatoes to Basic Mobs (#75516)
Just another lightweight PR porting over a simple animal to the basic
mob framework with zero additional AI implementation (it's a killer
tomato- it spawns into the world to maul you. how much more intricate
does it need to be?).
2023-05-19 16:55:59 -05:00
John Willard
199c250975 Reworks gym equipment (#75389)
## About The Pull Request

Gym equipment are currently ported from Goon code, and I didn't like how
it currently worked as it was buggy and the code was a mess. I decided
to just rework how they worked entirely. I left the parts that weren't
Goon code (like tooltips & deconstruction) alone because it's not goon
code and I think it's fine that way.

- Now you buckle yourself to it (like a chair, I didn't like how it
didn't work like one) and can work out with an action button you get on
buckle, you can do as many sets as you want, then unbuckle & go.
- You aren't hardstunned for 8 seconds for clicking on it anymore, you
aren't flying around because the stun doesn't even last the duration of
the animation anymore.

Video demonstration


https://github.com/tgstation/tgstation/assets/53777086/f5ae86f1-65fb-46c6-8a5f-8f9d9f0548b3

## Why It's Good For The Game

Reworks old code
Removes un-documented Goon code
Makes gym equipment less broken than it currently is.

## Changelog

🆑
qol: Gym equipment was reworked. You now buckle yourself to weight
machines to use them, rather than clicking on it and getting stunned for
a few seconds. It also means it works like a chair now.
qol: Gym equipment no longer breaks a sweat in no gravity.
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2023-05-19 15:01:01 -06:00
san7890
e2bc712714 Converts Lizards to Basic Mobs (#75515)
This was pretty simple since they didn't have too much custom behavior,
and whatever they did have already had AI behavior. I got really burned
out the last two times I wrote intricate AI action/decision behaviors so
I'm just taking it light and doing the bare minimum.

one day our shackles will be free of the simple animal scourge. they're
also a bit more intelligent, and i daresay a bit cuter too now.

also that lizard gib animation has been sitting there for god knows how
long completely unseen, so let's actually hook it into the mob.
2023-05-19 00:52:20 +00:00
TiviPlus
ff6102addf Fixes some TTS setup (#75501)
## About The Pull Request
Fixes the api not working + instructions

🆑
fix: fixed TTS not working when used by local servers
/🆑

Co-authored-by: TiviPlus <572233640+TiviPlus@users.noreply.com>
2023-05-18 16:33:00 +01: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
Profakos
f61dc7fd9d Requests console helpers (#75224)
## About The Pull Request

This PR adds mapping helpers for requests consoles. Two of them set up
if the console can receive ore updates, and if it can make
announcements, flipping their relevant variables to TRUE. The other
three adds the consoles to their relevant department console lists
during late initialize. This allowed me to remove three variables
directly from the consoles themselves.


![image](https://user-images.githubusercontent.com/2676196/236959062-11db7db5-3e7d-452a-a6c6-153901354b20.png)
New sprites by CoiledLamb!

~~This PR also anchors mapping helpers, to prevent effects like the
roundstart crate initialization from moving them.~~ This was fixed by a
different PR.

## Why It's Good For The Game

Less var edits, easier to see a console's type at a glance.

## Changelog

🆑 Profakos, sprites by CoiledLamb
qol: Most request console varedits have been moved to mapping helpers.
/🆑
2023-05-15 23:08:45 +00:00
Helg2
f0fea164d2 Replaces var edited freezers. (#75439)
## About The Pull Request
Besides cleaning up code a little i changed all the bar lockers near
`boozeomats/all_access` to also be `all_access`. And also changed
freezer on Beach away mission to be free accessed like the freezers near
it.
## Why It's Good For The Game
Cleaner code, i guess?
Free beer.
## Changelog
🆑
add: Old bar on Metastation, tranquility emergency shuttle and Beach
away mission now have free access bar closets. Also freezers on beach
are now all access so you can now open them.
/🆑
2023-05-15 17:04:15 -06:00
Mothblocks
980f3adc70 ezdb - A one click script to quickly setting up a development database (#75053)
https://user-images.githubusercontent.com/35135081/235344815-8e825ba9-52cf-44e8-b8e2-a2aeb5d47276.mp4

- Downloads a portable MariaDB (doesn't pollute your main system)
- Sets up a database with a random password on port 1338 (configurable)
- Installs the initial schema
- Every time after, will run updates

Major versions right now explicitly escape hatch, because those
historically come with something like a Python script, and I do not want
it to pretend to work.

---------

Co-authored-by: san7890 <the@san7890.com>
2023-05-15 12:49:29 -06:00
ChungusGamer666
dff70625e7 Bible refactor (#75350)
## About The Pull Request

This started as a simple addition where burning a bible would curse you,
but then I realized... Bibles aren't even proper books, thus can't be
burned!
So yeah, since that is not necessary due to how atom_storage works, I
reworked that.

## Why It's Good For The Game

Because burning bibles and getting cursed for it is funny.

![image](https://github.com/tgstation/tgstation/assets/82850673/2a8489ce-ecd6-45ee-9eb9-168ff820af65)

![image](https://github.com/tgstation/tgstation/assets/82850673/ebe98ad6-2d0d-4d20-9ea1-5d472d6ca465)

## Changelog

🆑
add: You can burn bibles now! But heresy has a steep cost...
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2023-05-15 04:27:43 +00:00
ShizCalev
d927f28951 Makes update_icon_updates_onmob more robust (#75324)
Safeguards against #74965 happening in the future.

Noticed a bunch of these were using ITEM_SLOT_HANDS. This is incorrect,
as the element already automatically updates held items. grep'd it to
catch future instances.

Likewise, a number of objects weren't passing slot_flags to the element,
meaning it wasn't actually updating those things properly when they were
being worn. I've simplified this so now the element will automatically
update all slot_flags, and passing an additional slot to the element
when being added is only needed for additional slots that might need to
be updated. This also means if slot_flags change, the element will now
update correctly as well.

🆑 ShizCalev
code: The update_icon_updates_onmob element will now automatically
update all slots in an item's slot_flags var. This does fix multiple
things that weren't updating properly. Passing a slot to the element is
now only necessary if you want to add additional slots to be updated.
/🆑
2023-05-10 18:36:01 -06:00