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

[IDB IGNORE] [MDB IGNORE] Maint the fires and light the tires #508

Merged
merged 580 commits into from
Oct 30, 2023

Conversation

RogueStationAI
Copy link

No description provided.

SkyratBot and others added 30 commits October 21, 2023 21:30
Skyrat-SS13#24482)

* Adds a trailing comma to reagent_containers list

* skyrat edit fix

---------

Co-authored-by: Bloop <[email protected]>
Co-authored-by: jjpark-kb <[email protected]>
…turns it all to a element [MDB IGNORE] (Skyrat-SS13#24497)

* [no gbp] fixes not being able to walk over mook corpses and turns it all to a element (#79054)

## About The Pull Request
fixes not being able to move over or pull mook corpses and now mobs
changing their forces on death is a element

## Why It's Good For The Game
fixes not being able to move over or pull mook corpses

## Changelog
:cl:
fix: fixes not being able to walk over or pull mook corpses
/:cl:

* [no gbp] fixes not being able to walk over mook corpses and turns it all to a element

---------

Co-authored-by: Ben10Omintrix <[email protected]>
…3#24499)

* Light dreaming refactor + new dream (#78996)

## About The Pull Request

Makes it so new dream types can be more easily added to the game with
effects within them beyond just some text being displayed if you want. I
added a dream that plays a random sound file available in the game files
to demonstrate how it's used. Mainly I wanted this out of the way for
another thing I'm working on.

I also made it so if the sound subsystem fails to reserve a channel it
throws a runtime since this happening is likely always going to result
in a bug, like it did while I was testing this.

## Changelog

:cl:
add: New dream that plays sound at you
/:cl:

* Light dreaming refactor + new dream

---------

Co-authored-by: Emmett Gaines <[email protected]>
…es for signalers | Enforces cooldown on signaler circuitry [MDB IGNORE] (Skyrat-SS13#24500)

* Updates signaler investigate code | Adds some nice QOL changes for signalers | Enforces cooldown on signaler circuitry (#78974)

## About The Pull Request

See title.
If someone was abusing signalers previously to cause server lag, going
into list signalers would actually cause even worse lag as byond sat
there and processed thousands of items into a string over and over,
which would cause string format operations on longer and longer strings,
resulting in more and more overhead. This is bad.
So instead there is now a limit to the size of the list, currently I
have that set to 500 although I am open to increasing and even reducing
the number.

I have also made signalers slightly more intuitive by having the
cooldown actually displayed in the ui as a tooltip instead of just being
a secret feature you didnt know about unless you code dived. Also made
the cooldown actually respected by things such as circuitry where it
didnt even implement the cooldown and would happily send as many signals
as you had items connected to your proximity circuit.
## Why It's Good For The Game

Admins won't accidentally kill the server by trying to parse a lag
machines signal list. Players lagging the server? No, how about the
admins trying to fix it!

## Changelog

:cl:
qol: signalers now tell you their cooldown and also use balloon alerts
/:cl:

* Updates signaler investigate code | Adds some nice QOL changes for signalers | Enforces cooldown on signaler circuitry

---------

Co-authored-by: Zephyr <[email protected]>
…IGNORE] (Skyrat-SS13#24501)

* Adds lighting height control (space color consistency) (#79046)

## About The Pull Request

Adds support for modifying a light's "height"
You can think of this as the distance it is from the ground below it
(Really it's the distance to the corners around it + 0.5 but yaknow) We
use it to keep wall lights from looking weird, but well, not everything
is a wall light

Floors tend to not be, and space in particular does not want to be
treated as such.
In fact, it wants a NEGATIVE height, so it acts as if it in on top of
all of its corners. This allows us to ensure that the starlight from
space and the starlight from starlight overlays always have the same
intensity and color, preventing weird lines from where the two
intersect, or starlight feeling not very present in cases with only one
turf

I've also bumped starlight's intensity form 0.75 to 1, this should help
with the lines thing discussed above.

## Why It's Good For The Game

![image](https://github.com/tgstation/tgstation/assets/58055496/240d1b3f-52c8-4569-8e74-0d801cbdb84d)

## Changelog
:cl:
add: Starlight should be a bit more intense, and flow better onto non
space tiles
/:cl:

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>

* Adds lighting height control (space color consistency)

---------

Co-authored-by: LemonInTheDark <[email protected]>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* Pies/rootwiches (#79111)

## About The Pull Request
This PR has a few simple aims; 2 new rootbread sandwiches, slicable
versions of most pies and a new rootbread crafting method.
Sliceable pies added:
-Cherry
-Apple
-Frosty
-Meat
-Tofu
-Xenomeat

Sammiches: Peanut butter & jelly and peanutbutter & banana.

![image](https://github.com/tgstation/tgstation/assets/53197594/e37ce7c8-c726-47ca-b5c5-bc7040f4ca68)

![image](https://github.com/tgstation/tgstation/assets/53197594/769e534a-31ab-4fc3-b44d-e7b82c7a80a5)
## Why It's Good For The Game
Lizard food has been around for a while; if it's ever made it's usually
the same handful of easy dishes repeated and recycled. Why can't a
lizard enjoy a good sandwich? Even the most subhuman crewmembers deserve
a treat every once in a while!
Sliceable pies are good; because watching someone eat an ENTIRE pie to
themselves is insulting and justifies the chef leaping over the counter
and feeding them their own entrails!

EDIT: I forgot to mention in my first pass why the rootdough alternative
was good; I noticed that in cakebatter you are able to replace eggs with
soymilk, to allow an alternate way of making it. I repeated this trend
of replacing eggs with soymilk as it's a replacement for eggs and is
also lizard safe.
## Changelog
:cl:
add: Most pies can now be sliced rather than being consumed whole.
add: Rootdough can be crafted using soy milk in place of eggs.
add: Two new lizard-safe rootbread sandwiches can be crafted.
/:cl:

* Pies/rootwiches

---------

Co-authored-by: xXPawnStarrXx <[email protected]>
* Adds a subtle ghost poll (#79105)

## About The Pull Request
This makes a new ghost poll system which doesn't give TGUI popups -
instead, users are prompted to follow the POI and one of the orbiters is
chosen. The old system remains in place, so you can still prompt if you
want to.

This gives two things:
1. A deadchat notification:

![image](https://github.com/tgstation/tgstation/assets/42397676/073fcfff-b1ed-47c3-bae0-4abf9c599144)
2. A screen alert:

![image](https://github.com/tgstation/tgstation/assets/42397676/92a4e566-614a-43ca-8680-3cb4ff86ced9)

## Why It's Good For The Game
As stated in #76507, popups are pretty annoying. This is halfway between
a screen alert with no time limit and an event with more important
pings. This is better because:
1. Less popup fatigue
2. You can SEE how many you're competing with
4. DRY
## Changelog
:cl:
add: Adds a subtle ghost poll. This pings in dead chat and gives a
screen alert, but no TGUI popup. Orbit the point of interest to be
selected for the role.
refactor: A number of ghost spawns now feature this alert. Write an
issue report if anything breaks.
/:cl:

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>

* Adds a subtle ghost poll

---------

Co-authored-by: Jeremiah <[email protected]>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
…3#24504)

* Admin outfit popup wording [NO GBP] (#79132)

## About The Pull Request

I've read it 100 times, but it still confuses me every time. Annoying.
I don't know why you would need your pocket items as an admin, so maybe
I should've remove this popup entirely, but whatever.

Turns this:
<img alt="zVnjGznFWh"
src="https://github.com/tgstation/tgstation/assets/3625094/ed842d84-55c8-45da-9dc8-a7df65e28fcc">

Into this:
<img alt="mLPSl14FsE"
src="https://github.com/tgstation/tgstation/assets/3625094/dbf4569b-d2a8-4855-bd81-342c162788dd">

## Why It's Good For The Game

No more confusion

## Changelog

:cl:
qol: changed wording of a popup in the admin dressing menu
/:cl:

* Admin outfit popup wording [NO GBP]

---------

Co-authored-by: Andrew <[email protected]>
)

* Tram door/panel hotfix [NO GBP] (#79093)

## About The Pull Request

- The actions to open/close and lock/unlock are supposed to match
closets, but I got it backwards. Swaps them around.
- The lock now works as expected no matter if your ID card is in hand,
in a wallet, or in your PDA.
- Moves early return for when welder has no fuel.
- There was no indication spoilers were tampered/malfunctioning. Added
an overlay, examine text, context hint, and welder action so it's more
apparent to players.
- Fixing an emagged spoiler is now multitool-weld, to match the overlay.
- Added some missing var docs.
- Improved the wording of some tram error messages about why it's broken
(ie: no power.)
- Fixed crossing signals not showing correct status/examine text when
broken/no power

![image](https://github.com/tgstation/tgstation/assets/83487515/a5539303-88a4-469b-afaf-65c8d67ce2e8)

## Changelog

:cl: LT3
fix: Fixed tram cabinet LMB/RMB actions being reversed
fix: Tram cabinet can now read IDs inside PDAs and wallets
fix: Crossing signals now correctly indicate broken/no power
fix: Trying to repair tram (weld) without welding fuel fails
fix: You can actually unbolt the tram controller from the wall
qol: Tram spoilers now have visual and examine hints about being
malfunctioning/emagged
qol: Improved some tram error messages
/:cl:

---------

Co-authored-by: Jacquerel <hnevard@ gmail.com>

* Tram door/panel hotfix [NO GBP]

* Update CODEOWNERS

---------

Co-authored-by: lessthanthree <[email protected]>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
…#24509)

* Better looking ghost notifications

* Update mob_helpers.dm

---------

Co-authored-by: Jeremiah <[email protected]>
Co-authored-by: lessthanthree <[email protected]>
…at-SS13#24514)

* Prettifies Adminwho into an Examine Block (#79137)

## About The Pull Request

Same vein of #71170 (2d3e7f2) / #69845
(61d49cb) in an attempt to lessen the
number of cruddy "system messages" that just print straight text to
chat.

This could be improved CSS wise but I think a standard examine block
helps a lot while maintaing clarity, see below:

![image](https://github.com/tgstation/tgstation/assets/34697715/7c08fac0-bd10-4297-ac82-c85d02d7d792)

I also heavily refactored adminwho code to not have so much copypasta
while using more `jointext()` and keeping everything a bit more readable
than what it previously was. User-facing stuff should all be the same
(with the addition of an examine block) except in two spots

* Custom header message when no admins are online. I think this is a far
clearer message than having `Current Admins:` and then the message about
adminhelps being relayed to Discord
* There's no tabs per each entry. This was replaced by a bullet point. I
think it's better to read.
## Why It's Good For The Game

As time goes on, I'm more and more peeved by these pretty critical
messages constantly blending in with output from the rest of the game.
This is why balloon_alerts and whatever became so popular to my eyes,
there's just constant junk. I figure that we may as well just keep the
systematic stuff that _must_ live in the chat box looking as neat as
possible.
## Changelog
:cl:
qol: Adminwho messages are now in an examine block for heightened
clarity.
/:cl:

* Prettifies Adminwho into an Examine Block

---------

Co-authored-by: san7890 <[email protected]>
…IGNORE] (Skyrat-SS13#24513)

* Fixes crafting menu not detecting ingredients properly (#79141)

## About The Pull Request
1. Fixes #79089
This fix applies for the above issue and all crafting recipes that
require some sort of reagent container containing reagents. It now adds
the container & the reagents inside of it to the list of available
ingredients & not just the reagents which was previously the case.

2. Fixes #79159
Other crafting ingredients in general were not being detected if it was
not a stack type. That's fixed now too

## Changelog
:cl:
fix: items that require reagent containers & the reagents inside it for
crafting(e.g. molotov) now crafts properly.
fix: most crafting recipes should work now
/:cl:

* Fixes crafting menu not detecting ingredients properly

---------

Co-authored-by: SyncIt21 <[email protected]>
…s 25cr goodies. [MDB IGNORE] (Skyrat-SS13#24488)

* Aquariums now have an internal feed storage. Fish catalogs as 25cr goodies. (#78958)

## About The Pull Request
Added a reagent holder to aquarium tanks and some code to enable the
fish to be automatically fed at selectable intervals of 1 minute to 7
(default 3). The holder can be accessed and filled by opening the
control panel, and emptied with a plunger if necessary. Simple plumbing
compatibility has been added as well, in case you think the 6 units of
capacity of the reagent holder (enough to feed a fish 60 times) are not
enough. The preset fishing tank starts with enough feed to keep its
contents alive for 30 minutes.

Beside that, I've fixed a small oversight with the fish analyzer goodie
pack. It should cost 150, not 500.
The fish catalog is now a goodie pack you can get as a goodie for dirt
cheap (25 creds) and a subtype of `book/manual`, so there's a slim
chance you may find it at the library or somewhere else.
Fixed a small oversight inside the fish catalog.
Mapped in a single aquarium kit for each station map, in the service
hallway/storage room where the techfab and cargo consoles are also
found.
Aquarium kits are now compatible with slapcrafting.

## Why It's Good For The Game
Aquariums require too much maintainance for a gimmick, and it's quite
awful to see the fish inside preset aquariums die 5 minutes into the
round. Also, you cannot get fish catalogs anywhere but from the aquarium
kit crate, which costs 1k credits, though its pertinence with fishing
goes beyond aquarium stuff.
Lastiy, I think it's good to give the crew a free aquarium kit. The
price of the supply pack is a bit out of reach for many, service could
use a bit of fisciculture too (I may make it a service pack later, so
that it can be ordered through the service console).

## Changelog

:cl:
add: Aquariums now have a small internal reagent holder, accessible when
the panel is open and used to automatically feed the fishes at
selectable intervals, also compatible with plumbing.
add: Fish catalogs can now be bought as a goodie pack, for 25 cr, or
rarely found at the library or maints.
fix: Fixed the prices of fish analyzers. It's supposed to be 150 cr, not
500.
map: Added an aquarium kit to each station, found in the room where the
service techfab and order console also are.
qol: Aquarium kits are now compatible with slapcrafting (crafted by
hitting them with the required material without opening the menu).
balance: Moved the aquarium kit and fish supply packs from the "General"
section to "Service" and "Livestock" respectively, meaning they can be
ordered for free from the service orders console.
/:cl:

* Aquariums now have an internal feed storage. Fish catalogs as 25cr goodies.

* UpdatePaths

---------

Co-authored-by: Ghom <[email protected]>
Co-authored-by: Giz <[email protected]>
* Basic drones

* Diffs

* Diffs

* Modular

* Modular

---------

Co-authored-by: lizardqueenlexi <[email protected]>
Co-authored-by: Giz <[email protected]>
SkyratBot and others added 24 commits October 28, 2023 20:34
… not in combat mode [MDB IGNORE] (Skyrat-SS13#24631)

* Your unarmed attacks are once again blocked even when you're not in combat mode (#79233)

## About The Pull Request

Currently, not being in combat mode when making an unarmed attack allows
you to bypass ALL BLOCKING. All of it. Every single kind of shielding.

This is now fixed.

As a consequence, hugging is now blocked, but that's fine, hugging puts
you into click cooldown and _might actually be an attack now_. [Like the
Hugs of the Gondola martial
art](https://github.com/tgstation/tgstation/blob/ab058330b4449f133b7672565c91d28af8ed7e05/code/datums/martial/hugs_of_the_gondola.dm)

Fixes tgstation/tgstation#72812

## Why It's Good For The Game

This was broken with COMBAT MODE AAAAAAAAAAAH

### AAAAAAAAAAAH

## Changelog
:cl:
fix: Every person on the station now no longer has the Tranquility
Evades the Shield Pinky Finger Shovegrab unarmed combat technique, an
ancient and forbidden strike that allows anyone (literally anyone) to
bypass all forms of blocking defense by simply not being in combat mode
when they shove or grab their target. As a direct result, the chakra
energy of the Spinward Sector has become severely misaligned. Oh well.
/:cl:

* Your unarmed attacks are once again blocked even when you're not in combat mode

---------

Co-authored-by: necromanceranne <[email protected]>
…kyrat-SS13#24632)

* Ground sinking sanity checks and doc cleanup (#79214)

## About The Pull Request

The asynchronous sinking component of garden gnomes did not check if the
gnome still existed, when the sinking timer ran out, which caused null
exception runtimes. I have added sanity checks to this. In addition, the
sinking used do_after, but failing the do_after had no effect on
anything, and infact, made the mob sink even faster into the ground, so
I have added an early return, and a call for unsinking.

Also tweaked proc names and documentation.

Funny story: the only reason I have found out about this bug is because
sometimes garden gnomes spawn on a downstream map, and they cause a CI
failure when the nuke cinematic unit test explodes them. 😔

## Why It's Good For The Game
Runtimes bad. Also if an action has a do_after call, it should probably
fail if it the timer fails.

## Changelog

:cl:
fix: Gnomes no longer runtime if they explode while sinking into the
ground
/:cl:

* Ground sinking sanity checks and doc cleanup

---------

Co-authored-by: Profakos <[email protected]>
…S13#24634)

* Wearing Hailer gives unique death SFX (#79216)

## About The Pull Request

If you die with a SecHailer on, a unique sound effect will play (created
entirely by me using in-game files):

https://github.com/tgstation/tgstation/assets/42353186/042e4159-57f3-4cc1-8d96-4dc7289f194b

(Please note that the pitch is randomized)
You can give any mask's unique death sound effects now.
## Why It's Good For The Game
SecHailers can change people's voices. Why not make them sound different
when they die? It could be a humorous reference with a unique sound.
SecHailers' voice changer function is a reference, which I expanded by
also making a unique death sound effect.

Also now you can make more masks with unique death sound effects if you
want to.
## Changelog
:cl:
sound: Dying with a SecHailer on your face will make a unique death
sound
/:cl:

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>

* Wearing Hailer gives unique death SFX

---------

Co-authored-by: DrTuxedo <[email protected]>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
…B IGNORE] (Skyrat-SS13#24635)

* Adds a few extra params to blackbox dynamic threat logs. (#79344)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

Adds the roundstart pop count and the calculated max threat to blackbox
logging of dynamic threat.

This allows for identifying lowpop shifts and more intelligent analysis
of dynamic threat.

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

I need this added to better track what's going on when analysing threat
distribution, as all threat stats will bias low with the inclusion of
lowpop shifts capping max threat.

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

No player-facing changes.

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

---------

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

* Adds a few extra params to blackbox dynamic threat logs.

---------

Co-authored-by: Timberpoes <[email protected]>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fishing-related bounties. (#79136)

## About The Pull Request
This PR adds three basic/assistant bounties for shipping fish. The
reward is above par when compared to other basic bounties, however, each
shipped fish that is either dead or comes from a case (bought from
cargo, cause that's lazy) will reduce the payout by a portion of it,
also the pool of assistant bounties is quite big you wouldn't roll them
too often.

The three bounties are the following: One for any kind of fish, another
for fish of matching fluid type (freshwater, saltwater, sulphuric
water), and lastly, one for specific types of fish, possibly easy money
if RNG is with you.

## Why It's Good For The Game
I wanted to add something diffrent from most grimy assistant/basic
bounties where you either just print the stuff from the nearby autolathe
or fetch it for little money. Also, this provides another outlet to
fishing, I guess.

## Changelog

:cl:
add: Added a few fish related bounties.
add: Fish cases to store and preserve life fish within can be now
printed from the service techfab and the autolathe.
/:cl:

* Fishing-related bounties.

---------

Co-authored-by: Ghom <[email protected]>
…rat-SS13#24630)

* Fix telekinesis being unable to open doors

* Update access.dm

---------

Co-authored-by: MrMelbert <[email protected]>
Co-authored-by: Bloop <[email protected]>
…ned off and then back on [MDB IGNORE] (Skyrat-SS13#24644)

* Light-Eaten objects can no longer emit light after being turned off and then back on (#79240)

## About The Pull Request

#67676 described a bug where PDAs can apparently emit a small amount of
light after being affected by the light eater. As it turns out, the bug
is even worse than that. It doesn't work for just PDAs, it works for
basically any light source that can be turned off and on. Even
flashlights. In the following pictures, a flashlight has been
light-eaten and then turned off and on again:

![fine](https://github.com/tgstation/tgstation/assets/21979502/e880c3a8-4ae9-4b6c-8ee9-27dacdbb23ab)

Observe how the nightmare jaunt is available, as it should be. However,
one step closer to the flashlight:

![not
fine](https://github.com/tgstation/tgstation/assets/21979502/b35014d4-71e8-49cf-b0f6-479cdf2ba3fc)

The nightmare jaunt can no longer be used, because the flashlight is
still emitting light.

This PR just fixes that behavior. Light-eaten objects will now be
totally dark again, even after being power cycled. Closes #67676.
## Why It's Good For The Game

Bugs bad.
## Changelog
:cl:
fix: Light-Eaten objects can no longer emit light after being turned off
and then back on.
code: Flashlights now use light_on instead of defining their own
variable. Please report buggy behavior.
/:cl:

* Light-Eaten objects can no longer emit light after being turned off and then back on

* updatepaths

---------

Co-authored-by: GPeckman <[email protected]>
Co-authored-by: lessthanthree <[email protected]>
* Update Blueshift.dmm

* Update Blueshift.dmm
* Fixes invisibility exploit  (#79337)

## About The Pull Request
Adds a short cooldown timer (1s) to the toggle seethrough ability to
give it time to stop animating
## Why It's Good For The Game
Fixes #79161
## Changelog
:cl:
fix: Fixed an invisibility exploit on large mobs. Probably better this
way
/:cl:

---------

Co-authored-by: Jacquerel <hnevard@ gmail.com>

* Fixes invisibility exploit

---------

Co-authored-by: Jeremiah <[email protected]>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
* Telecomms Harddel Fix (#79333)

## About The Pull Request

Currently, telecomms machines store a hard reference to the last person
to open the tgui. This can, in certain circumstances, lead to a hard
delete. This PR just changes the reference into a weakref, so there
should be no more risk of hard deletes.
## Changelog
:cl:
fix: Removed rare hard delete involving telecomms machines.
/:cl:

* Telecomms Harddel Fix

---------

Co-authored-by: GPeckman <[email protected]>
@ORCACommander ORCACommander merged commit a05bb60 into master Oct 30, 2023
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.