Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MDB Ignore] [IDB Ignore] Ports like 40 qol/fix/cool stuff PRS #545

Merged
merged 56 commits into from
Aug 12, 2024

Conversation

MrMelbert
Copy link
Owner

Apologies if anyone gets pinged in any of those but blame whoever merged it without removing mentions from the PR body

Notable things

  • Icebox service remap
  • Minecarts
  • Lathe fix
  • Some more sounds / ambience
  • Bitrunning livestreams
  • Sprites
  • Cool swords

comfyorange and others added 30 commits July 30, 2024 18:23
…nsit (#85039)

## About The Pull Request

Closes #76043
Z level check in an elevator backfired. There is no case where this
check actually needs to exist, if a mob stepped off the tracked tile it
should get freed from elevator music torture no matter what.

## Changelog
:cl:
fix: Elevator music no longer haunts you endlessly if you step off
mid-transit
/:cl:
## About The Pull Request

Closes #85050

## Changelog
:cl:
fix: You can no longer dupe metal by breaking walls under small light
fixtures
/:cl:
…ns on UI (#81500)

## About The Pull Request
(Roundstart) Curators now get a 22.5% cut on credits spent on painting
patronages (divided by the number of curators). The service department
also gets another, 12.5% cut.

This PR also adds zoom in/out buttons to the painting canvas UI. So you
don't have to stare at a blob of such enormous squares while the UI is
open, which is only good when drawing.

Screenshot copypaste in paint:

## Why It's Good For The Game
The painting feature is mostly an end in itself, which is totally fine.
I've put quite a few quality-of-life changes into it through the years,
and I still want to kick in some stuff. However, I think the curator
should actually benefit from them in a more "mechanical" way.
Furthermore, I personally prefer them over the random written crap that
players make.

Also, as I said above, the canvas UI can feel a tad too big at times.
Fixes #82091

🆑
fix: Painting patronage works again when there's no curator present
during the round.
/🆑
## About The Pull Request
- Fixes #80931

To answer the question

> Would be valid to see if it's actually getting the element. if it is,
perhaps the issue is with section

I guess the problem is with the section because `getElementByID()`
requires the `div` element of the section to actually have an `id` which
we can retrive & scroll to.

I don't like the solution entirely as `key` & `id` are redundant and if
there was a way to access the `key` or some other way to access the
section without using `getElementByID()` I'm all up for it.

## Changelog
:cl:
fix: Clicking sub sections in the design menu of lathe's UIs will auto
scroll to them.
/:cl:
- Splits the trait into two, one that affects only bots (like the
original version) and one that only affects machines
- Only mapload bots are affected (again)
- Only mapload machines are affected
- The Automated Announcer is immune

I made this trait a while back and then someone else changed it to be
far more disruptive and annoying without adjusting the weight, so I feel
like I have the right to reign it back in a little bit.

This aims to retain some of the charm intended behind the original trait
while maintaining some of the changes made to it.

:cl: Melbert
add: Bot Language station trait split into two: One that affects bots
(retains the old weight and cost) and one that affects machine (half
weight, double the cost)
del: Bot Language station trait and (new) Machine Language station trait
no longer affect newly created machines or bots, just those present at
game start
del: Machine Language station trait cannot affect the Automated
Announcer in telecomms
/:cl:
Adds liquid sloshing sound when pouring reagents between containers.
Not sure if this is loud enough tho gimme feedback

More sound cues are pretty good when youre pouring reagents

https://github.com/tgstation/tgstation/assets/92416224/174a07cf-439b-47a3-b1fe-6eda3fcec32e

🆑
sound: added liquid pouring sounds to pouring of any reagents
/🆑

---------

Co-authored-by: SyncIt21 <[email protected]>
Co-authored-by: Afevis <[email protected]>
## About The Pull Request
### Comparison:
Before:


https://github.com/tgstation/tgstation/assets/96586172/38be9dba-5479-4def-a1b7-833c79279936

After:


https://github.com/tgstation/tgstation/assets/96586172/2a9c97ca-bbb2-40dc-9b1e-c1ea93e4a002

Closes tgstation/tgstation#84585
## Why It's Good For The Game
Ears hurt to hear noise during a sound.
## Changelog
:cl: grungussuss
sound: scalpel cutting sound now has a clean sound.
/:cl:
## About The Pull Request
Adds a zipping noise when you zip up a winter coat, should maybe work
with all of them.


https://github.com/tgstation/tgstation/assets/101240878/638d69c7-5b89-41a5-9878-138d570a400b


## Why It's Good For The Game
Adds a bit of realism to the game in the form of more noises and such,
and it would be a bit weird to not hear your coat being zipped up.
## Changelog

:cl:
sound: Added audible zipping to winter coats.
/:cl:
…or exiting fullscreen (#85302)

## About The Pull Request

Automatically calls attempt_auto_fit_viewport() upon toggling fullscreen

## Why It's Good For The Game

Fullscreen changes your viewport height but not width so if you're
running stretch to fit (which is probably used by most of our players as
fullhd does not integer scale) you have to manually use Fit Viewport
verb every time you join the game and enter fullscreen which is rather
annoying to do.

## Changelog
:cl:
qol: If you have auto fit viewport enabled, it will trigger upon
entering or exiting fullscreen
/:cl:
…Monitors (#82218)

## About The Pull Request


![image](https://github.com/tgstation/tgstation/assets/51863163/72b90aba-863c-4776-b596-89f0dc0ee45f)

Bitrunners are now equipped with body cameras. 
The Quantum Console now holds a switch which you can toggle on to
broadcast your body camera footage to the station's Entertainment
Monitors.

I also cleaned up some balloon alerts

## Why It's Good For The Game

I did a gimmick with a bunch of bitrunners and thought it was lame I
couldn't watch them as they did the bitrunning part.
So here we are. I think it is pretty neat and fun, and also kinda
thematic, since it is VR after all.

## Changelog

:cl: Melbert
add: Bitrunners can now broadcast their Bitruns to the station's
Entertainment Monitors.
/:cl:
## About The Pull Request

The thought only just occurred to me people may want to throw multiple
bodycams with different networks on them onto one mob, and it would be
trivially easy to support, so here.

I used `COMPONENT_DUPE_SELECTIVE` rather than `COMPONENT_DUPE_ALLOWED`
so people can avoid adding two of the same camera (network) to one mob.
## About The Pull Request
Right now the notifications are not conveniently located, as when the
server is initialised, it is quite problematic to communicate OOC
Actually this inconvenience I would like to solve

Also reconnect/restart buttons have been slightly modified
| Before | After |
| - | - |
|
![dreamseeker_aYyT5cewaz](https://github.com/user-attachments/assets/f5c8089c-2c41-4ff9-a480-aa1cd3b430a5)
|
![image](https://github.com/user-attachments/assets/d893c2e6-3e3b-476a-85f3-f0f7a2e74e7d)
|


## Why It's Good For The Game
Now you can discuss the last round without waiting for the server to
fully initialise

## Changelog

:cl:
qol: Chat notifications are now at the top
/:cl:
## About The Pull Request
The title says it all, so I'll just attach a before and after comparison
I'm not sure if removing two lines can be called a fix, but anyway

| Before | After |
| - | - |
|
![dreamseeker_0c1iRuFBJm](https://github.com/user-attachments/assets/cf50a184-76c0-4ddf-9ec7-d76fa8064cb4)
|
![dreamseeker_8alIoMF5Mf](https://github.com/user-attachments/assets/9505e94d-6328-499a-9744-e7fb3447b1cc)
|


## Why It's Good For The Game
Very long headers will no longer force subheaders to overlap with it

## Changelog

:cl:
fix: Announcement subheader will no longer overlap the header if the
second one is very long
/:cl:
Closes #84884
Adds early returns, cleans up and fixes whatever was going in bookshelf
attackby code due to lack of early returns and state weirdness.

:cl:
fix: You can attack bookshelves in a variety of states once more
/:cl:
Adds a new trait TRAIT_TOSS_GUN_HARD (which currently comes from the
Sleeping Carp scroll, ninja MODsuit, berserk armor, being a medieval
pirate or highlander). The owner of this trait deals an additional
**10-20** (depending on the size of the weapon) damage to the enemy by
throwing a gun, and also knocks them for 0.5 seconds. If a ballistic
weapon **with a magazine** was thrown, then the magazine is removed and
the bolt is racked, and if **without a magazine**, then all cartridges
(revolvers) or chambered one is removed. Here's a preview of how it
works:

https://github.com/tgstation/tgstation/assets/126676387/2a56eb74-6d37-4343-a685-3bf7159ab628

It's classic

![how-to-use-a-gun-in-katana-zero](https://github.com/tgstation/tgstation/assets/126676387/2d2e6be8-5fa2-4084-8928-a56bbf5fc82e)

:cl:
add: If you can't shoot a gun, then... JUST TOSS IT AT THEM (for 0.5
seconds of knockdown and 10-20 an additional brute damage)
/:cl:

---------

Co-authored-by: paganiy <[email protected]>
…or` to security level prototypes (#84830)

## About The Pull Request

Move security level related data from switch-cases to security level
prototypes.

## Why It's Good For The Game

Nothing player facing.
Cleaner code for coders

## Changelog

:cl:
refactor: move `status_display_bottom_text` and `fire_alarm_light_color`
to security level prototypes
/:cl:
Forgive me Maintainers, for I have sinned.
Months ago, a year ago, maybe longer, I PR'd some new and improved
sprites for the Catwalk Tiles here to TG. And when I did, I did not use
the right tile palettes for reference.

I have come to atone.

![image](https://github.com/tgstation/tgstation/assets/76465278/16605b30-455c-4c17-863b-00451a76fe27)

![image](https://github.com/tgstation/tgstation/assets/76465278/2d91e1b0-37c9-4916-b02a-9b23db0e3028)

![image](https://github.com/tgstation/tgstation/assets/76465278/c4233dec-1871-42ac-848b-2e8e94454dbc)

![image](https://github.com/tgstation/tgstation/assets/76465278/d8f09852-a8aa-4093-a4fd-68ddcbbc51af)

![image](https://github.com/tgstation/tgstation/assets/76465278/ff219529-d91c-459c-b8dc-b95e44890fa6)

Additionally, I removed a duplicate white catwalk tile (flat_white - the
one left is iron_white) and changed the `none`/error icon in the file to
double as both an error marker, and a template of the catwalk mesh for
future catwalk tile sprites.

Consistent matching tile sprites are much, much nicer to look at.

:cl:
image: re-sprited Catwalk Floor Tiles to fit with TG floor tiles
/:cl:
…wer (#84479)

Partial port of DaedalusDock/pull/996
- Fixes ambience prefrence inconsistancy issues with Observers unable to
turn off the ambience buzz.
- Ambience buzz requires a working, existing, charged APC with power to
the enviorment.
- Moves ``update_ambience_area()`` and ``refresh_looping_ambience()``
into ``code\controllers\subsystem\ambience.dm`` for better organization.

Mostly to tackle a prefrence bug where ghosts are unable to turn off
ambience buzz. But this also includes ambience buzz requiring a powered
area. Makes the station feel more dead when there's no enviorment power.
There should also be no buzzing inside space.

:cl: Kapu (ported by StrangeWeirdKitten)
fix: Ambience buzz will now respect ship ambience prefrences for
observers.
sound: Ambience buzz requires APC enviorment power to function
/:cl:
## About The Pull Request

Shield walls should not be flat white 3 tile lights. it looks bad.
Instead, we'll make em blue, slightly dim on their own but stronger with
friends.
Also we'll make em lightly emissive, as a joke.

Shield generators should also light up when active, to match their
animation.

## Why It's Good For The Game

Wallening upstreaming of something I thought looked nice.


![image](https://github.com/tgstation/tgstation/assets/58055496/e1b048ee-a827-4603-89e5-ecdcc555f03d)

## Changelog
:cl:
add: Shield generators and shield gen walls now glow a light blue.
Pretty!
/:cl:
Updated the linen bin sprites and added a basket version available for
the mappers.

Also made it movable on top of the tables and added the tabletop offset
when anchoring.

![image](https://github.com/tgstation/tgstation/assets/3625094/a8a72036-0696-42b3-a4d5-8d8133fb1d03)

Also updated the cart flatpack sprite shading a bit while I was updating
the dmi.

![image](https://github.com/tgstation/tgstation/assets/3625094/9e408d20-e97e-4d46-bcfa-6f4bd0afe28c)

The sprite was old.

:cl:
image: New linen bin / basket sprites
/:cl:
MrMelbert and others added 4 commits July 30, 2024 22:24
<Details>

<Summary> The prodigal bar returns to its home on the first floor,
re-combining the kitchen and the bar's atrium into one room off of the
main hallway. I didn't want to leave the Clown and Mime out, though, so
I added a mini stage by the bar's entrance, for stand-up.</Summary>

![image](https://github.com/tgstation/tgstation/assets/51863163/a9500c1f-0e58-40fe-9c65-332ef7877cba)

</Details>

<Details>

<Summary> The lower bar area is not entirely dead, however, Where it
once was now lies an expansion of Hydroponics, as well as a gambling
lounge and stage for the clown and mime. </Summary>

![image](https://github.com/tgstation/tgstation/assets/51863163/bd8ff0ed-12a2-4537-a9d1-93b59498ece1)

</Details>

<Details>

<Summary> The maintenance in and around the upper service area and dorms
have also expanded, adding a connection between serv maint and sec
maint. </Summary>

![image](https://github.com/tgstation/tgstation/assets/51863163/78a6b3fb-97cd-4e74-a957-6a163653f985)

</Details>

Other notes:

- Standardizes some decal styles in the main hallway
- Adds a single air alarm to the brig (I noticed it was missing one
while running mapping verbs)

I really, really like the design behind the Icebox bar, the "seedy
gambling bar underneath the station" is supreme vibes, but unfortunately
it really hampers visitation. Bars should really be front and center on
the station to people walking by can see what shenanigans are going on,
who is around, if the bartender is serving drinks, etc... which is
difficult when it's hidden under the kitchen.

This PR aims to bring it back to the front, and kinda bring back the
kitchen-bar connection, while not entirely abandoning the vibes of the
bar as-is.

:cl: Melbert
add: Icebox: The bar returns to its home.
add: Icebox: Standardizes some decal styles in the main hallway.
fix: Icebox: The lower brig's missing air alarm has been found.
/:cl:
**PR body copied from last PR (#83149). I fucked something up (I think
by leaving dream maker open while trying to fix the merge conflicts?)
and rather than try and walk backwards I'm just making a new branch.**

This implements the digging of graves on most soil/dirt/planetary type
turfs, and gives the coroner their own private burial ground.

**Change 1 - Gravedigging:**

You can right-click planetary/dirt/grass tiles using a shovel or shovel
subtype (or entrenching tool). Speed varies on the type of shovel you
are using. This creates a Makeshift Grave, an unmarked burial mound
(different from the ones at the elephant graveyard).

This is handled through the new gravedigger component, which is mostly
unremarkable but worth mentioning in case anyone wants to add this
behavior elsewhere.

**Change 2 - Icebox Morgue Graveyard:**

![image](https://github.com/tgstation/tgstation/assets/28870487/e154dd79-9431-49b4-b3fd-9c932448c8cd)

The icebox morgue now has private burial ground, sealed off by a fence.
Mourners are expected to keep out and perform their grieving at the
appropriate distance. This does not affect the chaplain's burial ground,
which is publicly accessible from the outside. This gives a more secure
place to bury bodies (I'm sure someone will have a reason for this some
day) and may lead to fighting over corpses, which I think is funny.

Also, there might be some goodies left in those graves, but you wouldn't
go graverobbing just for some useless loot, would you??

This also adds a new area type, graveyard, which is mostly just the
icemoon outdoors with the spooky ambiance of the morgue.

![image](https://github.com/tgstation/tgstation/assets/28870487/57a3d790-4941-4130-b4de-ef524383e560)

Now you can bury your friends in an unmarked grave! Bury people alive!
Bury your treasure, or reminders of the sins you've committed! Bury
anything, anywhere you want!

The morgue graveyard is a nice bit of flavor. I know the Chaplain
already gets one (I forgot this when I started this PR though) but the
Coroner is an equal-if-not-more-important corpsekeeper than them.

:cl: Rhials
add: Shovels and entrenching tools can be used to dig graves on
asteroid/dirt/etc. surfaces. Neat!
add: The Icebox Morgue has been given a fenced-off graveyard in the
back.
code: burn_tile() is no longer double-defined on asteroid turfs.
/:cl:
## About The Pull Request
Only the "filled" subtype of graves will provide a mood debuff (buff if
you're a coroner).

This means that graves that spawn with loot/remains, such as the two
featured on the icebox coroner graveyard or the ones in the Elephant
Graveyard Lavaland ruin, will impact your mood. The unfilled graves at
the icebox chapel/morgue will not affect mood, nor will recently created
ones.


![image](https://github.com/tgstation/tgstation/assets/28870487/2722e454-0b73-48f8-bcb5-e12f682eec23)
## Why It's Good For The Game

It makes a bit more sense. You shouldn't be beating yourself up over
graverobbing when you aren't actually disturbing anyone's grave,
especially when it lines up with what the actual mood event text says.

Closes #83704.
## Changelog
:cl: Rhials
fix: Only filled graves will impact your mood.
/:cl:
@MrMelbert MrMelbert added the Cherry Picked We're behind on schedule; and this is something we fucking need label Jul 31, 2024
@MrMelbert MrMelbert marked this pull request as draft July 31, 2024 04:11
MrMelbert and others added 10 commits July 30, 2024 23:15
… checks (#84186)

Fixes #84170
Adds pen clicking and changes some of edagger and pendriver code to use
it instead.
Also replaces most pen typechecks to writing implement checks where it
makes sense, so now you can rename things with everything you can write
with (crayons)

![3d6NwcATNp](https://github.com/tgstation/tgstation/assets/44720187/f6b3ba2f-f3de-4e40-827f-2bad153a92f4)

Twisting pen caps (for traitor uplinks) has been moved to ctrl + click
instead.
https://github.com/tgstation/tgstation/assets/96586172/c9561de7-bae1-4c00-a57c-eb5ae030ee85

The previous sound didn't fit at all.

:cl: grungussuss
sound: pen click now has a proper sound
/:cl:
![dreamseeker_T49SJcwCEf](https://github.com/tgstation/tgstation/assets/7483112/53fd391a-bf01-4dd3-9f58-6977b9b1d3f5)
While you are reading a newspaper with a free hand you will hold it up
in front of your face and ID, rendering you as "Unknown" to anyone who
examines you (although it does not conceal your voice).

If you don't have a free hand you can still read the paper but it won't
do these things.
I don't want to have to care about the balance of people hiding a gun
behind their newspaper, even if that is also pretty funny.

Inspired by a forum post:
https://tgstation13.org/phpBB/viewtopic.php?f=9&t=35650

I think that it's pretty funny.

:cl:
add: Reading a newspaper will conceal your identity.
/:cl:
Newspapers work as a static newscaster that is not affected by things
like D-notices and changing wanted issues after its been printed. It
doesn't store comments or get any updates after its been printed.
You can also scribble on the paper to leave notes on a specific page,
which is a feature I have never seen in my life but it is still here I
guess.

Minor things I've added:
- Sound effect when printing the newspaper in the first place
- 2 second do-after when scribbling just for some player feedback and
consistency
- Balloon alerts
- Context tips for scribbling and burning

I also fixed an issue with wanted issues on newscasters when there isn't
an image.
As a minor note, I replaced the instances of ``content`` in Buttons I
saw in newscaster's UI because it's marked as deprecated.

Too lazy to take a video sorry

![image](https://github.com/tgstation/tgstation/assets/53777086/6944965e-e949-4c22-a6a2-1dbe2f2d09c4)

![image](https://github.com/tgstation/tgstation/assets/53777086/5af44877-6170-424d-9766-46d1ad9f77be)

![image](https://github.com/tgstation/tgstation/assets/53777086/5c5cdfc5-541a-417e-a60d-9522227d0687)

Fixes an issue with newscasters and makes newspapers use a nice TGUI
that feels more responsive than before.
Helps further https://hackmd.io/XLt5MoRvRxuhFbwtk4VAUA even more.

:cl:
refactor: Newspapers now use TGUI.
fix: Fixed the newscaster's wanted section showing a non-existent photo.
/:cl:
fixes the flaky error that would happen in cleanbot controllers. i
discovered thru the profiler that a proc i was using to stop tracking
unreachable targets and caching them to a blacklist in selectbehavior
had a bit of a high real time cost, so if the mob got deleted midway
through for any reason would cause a runtime error. ive moved this proc
off selectbehavior and im instead letting the move loop cache this
target into the blacklist if it reaches the max pathing attempts

fixes a runtime that sometimes happens in ai controllers

:cl:
fix: fixes a runtime that sometimes happens in ai controllers
/:cl:
… spamming logs (#83215)

So, thanks to the map not being loaded yet when jobs are initialized,
the logs are needlessly spammed by a check that can never pass.

![image](https://github.com/tgstation/tgstation/assets/49160555/add92847-9d41-49b0-a951-4f40fdfd283f)

Also adds some possible locations to engineering and science

As such, I just moved all this logging stuff and screaming at
mappers/coders into a unit test. I honestly only have very vague
understanding of how these work so someone with more knowledge please
check if I did everything right.
@SmArtKar
Copy link
Contributor

Needs tgstation/tgstation#84343

@MrMelbert
Copy link
Owner Author

acd3770

@github-actions github-actions bot added the Merge Conflict Resolve it or perish label Aug 10, 2024
ZephyrTFA and others added 2 commits August 11, 2024 01:06
## About The Pull Request

Allows players to modify the suit sensors of someone else's jumpsuit
without first requiring them to disrobe them.

![image](https://github.com/tgstation/tgstation/assets/12817816/9b6ca2a3-ed23-4b46-a18b-9c5283fe8957)

## Why It's Good For The Game
It's annoying for players, usually antags, who are attempting to kidnap
someone and then disable their suit sensors they must first entirely
disrobe them, change the sensors, and then put everything back onto
them.

## Changelog

:cl:
balance: You can now adjust the suit sensors of another player in the
strip menu. No longer must you first take it off.
/:cl:

---------

Co-authored-by: Mothblocks <[email protected]>
@MrMelbert MrMelbert removed the Merge Conflict Resolve it or perish label Aug 11, 2024
intercepti0n and others added 4 commits August 11, 2024 22:03
Stealing from Goon is bad, but stickers are actually a good feature, and
loosing those will be a disappointment. This project aims to recreate
'em from scratch without using Jimmyl's and Goon's code. Also,
suspicious icons were resprited and renamed.
Inspired by #82099

- Hand labels now has a small visual associated.
- Hand labels now function like stickers, meaning burning temperatures
will remove hand labels from objects.
- General refactor of hand labels. Hand labeler now uses the new
interaction functions. Labels are now objects.

![image](https://github.com/tgstation/tgstation/assets/51863163/dab3caf5-073e-48c8-a269-81408a9e7076)

I thought it'd be a nice small touch to show visually when things are
labelled, so you can tell at a glance rather than needing to examine (or
hover) it.

If people preferred or used the invisible labels for certain gimmicks, I
can add a translucent label option as well. Maybe one that requires
plastic to print.

:cl: Melbert
qol: Hand labels now have a visual effect associated, and are also
affected by heat / can be cleaned off like stickers.
refactor: Refactored hand labels. They're objects now!
/:cl:

---------

Co-authored-by: san7890 <[email protected]>
@MrMelbert MrMelbert marked this pull request as ready for review August 12, 2024 03:16
@MrMelbert MrMelbert enabled auto-merge (squash) August 12, 2024 03:16
@MrMelbert MrMelbert merged commit 2ff794a into master Aug 12, 2024
19 of 21 checks passed
@MrMelbert MrMelbert deleted the moreprs branch August 12, 2024 03:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Cherry Picked We're behind on schedule; and this is something we fucking need
Projects
None yet
Development

Successfully merging this pull request may close these issues.