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

midnight maint #541

Merged
merged 93 commits into from
Jun 2, 2024
Merged

midnight maint #541

merged 93 commits into from
Jun 2, 2024

Conversation

RogueStationAI
Copy link

No description provided.

san7890 and others added 30 commits May 30, 2024 02:57
## About The Pull Request

`move_on_shuttle` was a variable that existed on `/mob` despite only
ever being used by cameras. This PR downgrades the variable to only
exist on `/mob/camera` types, but have the only thing that variable do
is add a trait that blocks movement on shuttles if not allowed. This
allows us to check the variable without casting to camera, which is what
some code was un-necessarily doing. This also retainst the ability to
add the trait later on to different mobs who we may not want to be on
shuttles that aren't `/mob/camera`.
## Why It's Good For The Game

There's no point for this variable to live on `/mob` if all it can do is
clog up the VV screen, especially if the current utilization for it is
only cameras. Let's move it off `/mob` and turn it into a trait so it
still has the similar utilization on a global level without typecasting
- as well as make it actually work since needless typecasting was
introducing a minor bug
## Changelog
Irrelevant.

---------

Co-authored-by: Time-Green <7501474+Time-Green@ users.noreply.github.com>
…drone is seperated from the node (#83309)

## About The Pull Request

NODE Drones now have higher move resistance
(MOVE_FORCE_EXTREMELY_STRONG), preventing them from being bumped off the
node, pulled away, or lifted away by a fulton extraction kit.

As an extra layer of assurance, the NODE Drone will depart from the site
if it is moved off of its vent.

## Why It's Good For The Game

Closes #83164.

I'm pretty sure these things shouldn't really be ever moving off of
their vents.
## Changelog
:cl: Rhials
fix: You can no longer force NODE Drones off of ore vents. That includes
using fulton packs!
fix: When a NODE Drone is forcibly separated from its vent, it will fly
away.
/:cl:
<!-- 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
Renames the gripping gloves to Enhanced Retrieval gloves

## Why It's Good For The Game
These gloves in fact do nothing for your grip, they actually only let
you tackle things, alternate name suggestions are welcome.

## Changelog

:cl: oranges
spellcheck: Gripper gloves are now Enhanced Retrieval gloves
/:cl:

---------

Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
…esearch node. (#83508)

## About The Pull Request

### New fish

#### anxious zipzap
An incredibly anxiety-ridden and electroreceptive fish. Worried about
the walls of its tank closing in constantly. Both literally and as a
general metaphorical unease about life's direction.

It produces electricity, and HATES being with any other fish. One other
zipzap is allowed at most.

![image](https://github.com/tgstation/tgstation/assets/40974010/6a1a31f3-1c84-4b5e-b8ca-652c5007813a)

#### monocloning jumpercable
A surprisingly useful if nasty looking creation from the syndicate fish
labs. Drop one in a tank, and watch it self-feed and multiply. Generates
more and more power as a growing swarm!

A far better option for power generation than the zipzap, but it's a
syndicate fish. Get an emag or get very lucky!

![image](https://github.com/tgstation/tgstation/assets/40974010/7f4aaf32-919c-40d9-890f-72ea9f91ac3c)

Working spacebase example

![image](https://github.com/tgstation/tgstation/assets/40974010/8eeaaf18-c0ab-48a5-8ada-e0eb7f118dd9)

### Aquarium type

Bioelectricity Generator! It boosts the power of electroreceptive fish
to very dangerous levels! But, uh, you put a tesla coil, and voila! Free
power! ...Free power if you keep the fish fed! More fish, more power!

![image](https://github.com/tgstation/tgstation/assets/40974010/e6abcd5b-93df-4ffc-ac6a-78585fd4a6c6)

You can convert an aquarium into a bioelectricity generator by
researching the new node, "Marine Utility", from bio processing. Then
you build the biogen upgrade kit and apply it to an already existing
aquarium.

### Fish Traits

#### Electrogenesis

Trait turns the fish into a shock weapon while it's alive, and every
time it feeds, it releases a weak tesla bolt to anyone close to the
tank.

#### Anxiety

anxious fish die when any other fish are in the tank. Please keep them
alone :[

## Why It's Good For The Game

Fish are great, but fish don't have anything to give back to the
station, right? Well, there's some small stuff, but I wanted to add a
bit of functionality towards being able to benefit from having fish.

The anxiety trait with the zipzap gives spessmen a bit of a challenge.
You can settle for one fish generating power per tank and do a
multi-tank generation setup, or you can do some crossbreeding to make a
fish WITH electroreceptive but WITHOUT anxiety. Neat!

## Changelog
:cl:
add: New fish, the anxious zipzap
add: New syndicate fish, the monocloning jumpercable
add: New aquarium, the bioelectricity generator
fix: Mixotrophic fish now properly lack food requirements
/:cl:
## About The Pull Request
Adds a new station trait: Station-Wide Background Checks!

It does two things:
1. Blocks most crew-side antagonists. No traitors, changelings, spies,
heretics, etc. You won't be able to fully trust your crew though, as
Space changelings, Paradox Clones, Obsesseds and Blob Infected are
excempted crew-antags since a background check doesn't really help here.
Other antagonists still spawn: pirates, revenants, blobs, aliens,
nukies, wizards etc. Expect a LOT more of these, as Dynamic is gonna put
threat somewhere...

2. Reduces dynamics threat slightly, configurable per server, but
defaults to 15.

It is essentially the first "dynamic gamemode".

## Why It's Good For The Game

Blocking crew antagonists changes the shifts dynamic, similair to old
warops. Security can "trust" crew to not be antagonists, and instead can
focus more on petty crimes and hunting down external threats.

Due to the increased chance of external threats and reduced chance of
internal threats, the crew can focus its defenses outwards. Don't worry
about your coworker killing you (intentionally/probably), but do worry a
lot more about the pirates trying to break through your hull, or alien
nests growing in virology.

I've also reduced total threat count slightly because the idea of 90
threat being dumped into ghost spawns kinda terrifies me and I do want
people to be able to let their guard down a slight bit. It can be
reduced/disabled for servers that already tend to lower threats.

I think it's a lot of fun to change the paranoia dynamic, and a fun
deviation from a normal round of spaceman13.

## Changelog
:cl:
add: Station-Wide Background Checks (station trait, rare): Disables crew
antagonists, but get a lot more non-crew antagonists
/:cl:
I want to do more like these (this was just an example I threw into
discord to annoy @ Mothblocks but I realized I kinda liked), and this is
a good opportunity to gather community feedback and see how it plays!

---------

Co-authored-by: carlarctg <53100513+carlarctg@ users.noreply.github.com>
## About The Pull Request
- Presumably due to being spawned off-station on (I believe) the
centcomm Z-level, Minebots ordered via points and that are delivered by
the shuttle are stuck with their AI in the idle state. Rather than
override a bunch of base-level AI code, I made clicking on them set
their status to active. Right-clicking will set this without opening the
bot's UI, while left-clicking will do both. Examine text now gives users
a hint about this.

- Removed text about feeding the mining bot ore to befriend it, as this
functionality was removed in an earlier PR.
## Why It's Good For The Game
Bugfix.
## Changelog
:cl:
fix: Minebots purchased via mining points are no longer stuck in idle
mode. Clicking on them will activate their AI.
spellcheck: Removed the examine text about feeding ore to minebots; this
functionality was removed already.
/:cl:
## About The Pull Request
This PR fixes 2 spots where there are tiles lacking distro pipes.

<img width="256" alt="broken"
src="https://github.com/tgstation/tgstation/assets/80724828/897b3ac8-3505-44f5-9b80-5f43bfd019f4"><br>

<img width="128" alt="broke2"
src="https://github.com/tgstation/tgstation/assets/80724828/d5d33535-1832-4e93-8d01-dd87f64703ed">

## Why It's Good For The Game
Fixes a obvious bug with Tramstation.

## Changelog
:cl:
fix: [Tramstation] Departures and under east tram distro/waste pipes now
properly connected
/:cl:
Fixes #83575

Kinda my fault, I looked at
tgstation/tgstation#83450, thought the railing
code was weird and then forgot or something.

I've reverted the changes and instead changed the map to not spawn walls
on railings, which I probably should've done when I made the area

:cl:
fix: Fixes railings being invisible
fix: Snow walls dont spawn on railings anymore in icebox
/:cl:
## About The Pull Request

![cargoupdated4ithink](https://github.com/tgstation/tgstation/assets/133079191/7648a08a-4453-41b6-8da0-4775c6b3d1db)

Changes the layout and design of meta cargo.

Swaps the position of the QM office and warehouse and expands the cargo
bay, leaving mining and the drone bay unchanged.

It does shift the vault area and disposals and upper cargo maints by one
tile for a little more room in the QM's office and cargo bay, but
otherwise unnoticeable. Removes the existing crate return flaps in lieu
of a chute in the main cargo lobby.

## Why It's Good For The Game

Meta Cargo got it's last update around 4 years ago, and it's starting to
show it's clunkiness in comparison to other maps like Wawastation,
Delta, or Icebox.

The cargo bay felt a little cramped and the QM's office felt kind of
tacked on at the bottom and was sort of misshapen to fit the entrance of
lower left maintenance into the cargo bay. In comparison to other maps,
It felt very out of place, so my goal was to open up the space and have
more space for cargo work and whatever else.

This also gives them a closer proximity to the Vault, and provides
somewhat easier access into and escape from their office via
maintenance. Also just adds a tad bit of flavor.

## Changelog
:cl:
add: Changes the layout of MetaStation's cargo to fit with new
Nanotrasen guidelines.

/:cl:
…83550

[MIRROR] Replaces `move_on_shuttle` with a trait
…83309

[MIRROR] Increases move resistance on NODE Drones, adds handling for when the drone is seperated from the node
…83555

[MIRROR] Called Gripper gloves - have nothing to do with gripping
…83508

[MIRROR] Fish update just dropped. New fish, aquarium type, two traits and a research node.
…83307

[MIRROR] STATION TRAIT GAMEMODE: Station-Wide Background Checks
…83482

[MIRROR] Fixes Minebots ordered through cargo being stuck in idle mode
SkyratBot and others added 26 commits June 2, 2024 02:58
)

* Restrict AI floor bolt external manipulation (#83463)

## About The Pull Request

My delayed reaction to #68451

**When an AI is alive, on main power, and not SSD its bolts cannot be
raised or lowered externally thus returning some small amount of
autonomy to everyone's favorite brain in a box.**

I tested to be sure this change does not interfere with (de)construction
or other tool actions besides their "must be anchored" requirements.
Should maintainers wish I can adjust the check to allow external
lowering, but not raising, of the bolts anytime to satisfy those
scenarios.

I decided to include "is on backup power (incapacitated)" in the check
as a middle ground so when moving an AI from a bombed sat or the like
anyone who is now used to being able to wrench for a rescue is not
caught off guard since AI gets a harsh penalty for moving bolts on
backup power (most likely overlooked in the original PR). This also
means if you really want to move an active AI Core against its will you
still have a path forward aside from _convincing_ the AI to raise them
voluntarily.

## Why It's Good For The Game

IMO this sort of check should have been included in the original
changes, or at least made to post the anchor status message to the AI's
chat rather than a balloon they are likely to miss. An incapacitated AI
is much more likely to be watching their core.

In the grand scheme this changes very little for anyone out to get an AI
since they will most likely just card or smash it to death anyway. It's
mostly just good for a little silicon piece of mind.

## Changelog
:cl:
balance: When an AI is alive, on main power, and not SSD its bolts
cannot be raised or lowered externally.
/:cl:

* Restrict AI floor bolt external manipulation

---------

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

* Improves the NTSS Independence's medical bay (#83569)

## About The Pull Request
Makes some minor changes to the NTSS Independence, mostly regarding the
medical area, listed below:
Cryogenics thermomachine is now rotated properly
Cryogenics now has a mannitol pill bottle like other cryo rooms
The sleeper is now fully upgraded
There is now a full advanced surgery toolset, a health analyzer, and a
compact defibrillator in the surgery corner
The medical kiosk has been replaced with a second stasis bed
The basic medibot has been turned into a much better medibot

One of the vibebots has been removed due to their effects conflicting
with one another
## Why It's Good For The Game
The ship is the most expensive in the game, it's supposed to have a
robust medical area. Lukewarm cryo cells and a
'bring-your-own-equipment' type operating area just don't cut it for the
cost.
## Changelog
:cl:
fix: The NTSS Independence cryogenics thermomachine is now properly
hooked up to the cryo loop.
qol: The NTSS Independence's medical bay has received improvements. The
medibot and the sleeper are upgraded, and advanced surgery equipment has
been added.
/:cl:

* Improves the NTSS Independence's medical bay

---------

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

* Makes disease airborne spread more realistic (#83423)

## About The Pull Request

1. Rather than checking every life tick to try to spread via air, it
checks every breath tick. IE, every 8 seconds.
2. Wearing a mask now protects you from catching airborne diseases,
rather than only protecting you from spreading it.
3. Wearing a mask is no longer guaranteed effective (unless on
internals), it now scales based on BIO armor. This is doubly effectively
for people wearing a mask to stop spreading to others vs wearing a mask
to block spreading to them.

## Why It's Good For The Game

Wearing any kind of mask means airborne viruses will never spread, but
also wearing any kind of mask on the opposite end is pointless unless on
internals. Kinda silly.

This PR unifies those behaviors. Wearing a mask to stop spread is still
rewarded, as BIO armor is doubly effective at stopping a spread attempt
as blocking a spread attempt.

Ultimately the goal of this is to give players a realistic way to
protect themselves against airborne transmission vectors besides staying
on internals 100% of the time.

## Changelog

:cl: Melbert
balance: Wearing a mask can now prevent you from being spread airborne
diseases. Prior, it only stopped you from spreading it yourself.
balance: Wearing a mask no longer 100% guarantees you don't spread
viruses to others people - it now scales on the masks BIO armor. Get a
sterile mask from Medical for max safety.
balance: Wearing a mask to stop you from spreading to other people is
doubly effective than wearing a mask to prevent spread to yourself -
Mask up for the greater good!
balance: Passive airborne virus spread attempts are now done every time
you breathe (every eight seconds), rather than every two seconds. The
chance of spread is the same, though - it has been scaled up to
accommodate.
code: Cleaned up a fair bid of airborne-transmission-code. Report any
oddities.
/:cl:

* Makes disease airborne spread more realistic

---------

Co-authored-by: MrMelbert <[email protected]>
…ates (Skyrat-SS13#27951)

* Pillow now consumes stamina in both unwielded and wielded states (#83444)

## About The Pull Request
There was some issue about players being kept in stamcrit via stamina
damage refreshing the timer. @ Watermelon914 has confirmed that refresh
mechanic is ok but only with stamina weapon with limited charges, pillow
does not have charges in its unwielded state so I have added some. Now
there is a limited amount of hits you can make before being stam crit
yourself. Self damage for wielded state have also been increased to
create a trade off between dealing more damage and how much self damage
you take.
## Why It's Good For The Game
## Changelog
:cl:
balance: Attack with a pillow now consumes 5 stamina regardless of
wielded or not.
/:cl:

* Pillow now consumes stamina in both unwielded and wielded states

---------

Co-authored-by: FinancialGoose <[email protected]>
…7952)

* Fix not being able to stop looking vertically (#83503)

## About The Pull Request
This fixes a bug with the look down/up verbs where you are not able to
*stop* looking unless you're on a tile where you're able to *start*
looking.

## Why It's Good For The Game

![image](https://github.com/tgstation/tgstation/assets/16826524/6cafddbb-2f52-47d5-839e-dfac1595521d)

## Changelog
:cl:
fix: you are now able to cancel the look up/down verbs from anywhere
/:cl:

* Fix not being able to stop looking vertically

---------

Co-authored-by: Echriser <[email protected]>
…3#27953)

* fix: allow giant spiders aggressively grab again (#83531)

## About The Pull Request

Remove check that restricted non-carbon mobs from upgrading grab, using
`max_grab` instead which exists for this purpose
All mobs now have `max_grab` set to `GRAB_PASSIVE` by default, overrided
where required.
Giant spiders can now agressively grab, which makes `ambush` spider
playable again (i hope).

closes #83485

## Why It's Good For The Game

Ambush spider works as intended, as it has `STRONG_GRABBER` trait, but
effectively it didn't work, as spiders couldn't grab agressively.

## Changelog

:cl:
fix: ambush spider (should instantly agressive grab) and other giant
spiders can now agressively grab
/:cl:

* fix: allow giant spiders aggressively grab again

---------

Co-authored-by: Gaxeer <[email protected]>
…ation pets (Skyrat-SS13#27955)

* Adds an ion storm law that affects the humanity status of station pets (#83527)

## About The Pull Request
Adds a few laws that basically do this:

![image](https://github.com/tgstation/tgstation/assets/7019927/a4700192-a6d1-4ae7-a232-cef730410848)

Has a chance to select a concept that is related to other lawsets, just
in case.

## Why It's Good For The Game
I think it is funny when the AI has to care about the station pets. I
have added the AI law "POLY IS HUMAN" in the past to relative hilarity,
especially when Poly decides to give the AI an order. The other pets
aren't likely to do this, but it's still cute to make the AI care about
the existence of lower lifeforms.

## Changelog
:cl: Vekter
add: Adds an ion law possibility that changes the human status of
station pets.
/:cl:

* Adds an ion storm law that affects the humanity status of station pets

---------

Co-authored-by: Vekter <[email protected]>
* Minor code clean-up for Cryo (#83477)

## About The Pull Request
- Converts `attackby()` to `item_interaction_with()`
- Prevents abstract/hologram beaker interactions with Cryo
- Cryo respects `NO_DEBRIS_AFTER_DECONSTRUCTION` by properly removing
the mobs visual contents flag & related traits inside
`handle_deconstruct()` instead of `on_deconstruction()`
- Uses `CHEMICAL_VOLUME_ROUNDING` define for rounding reagent volumes.

Everything else is just shuffling code around

## Changelog
:cl:
fix: Cryo tube respects `NO_DEBRIS_AFTER_DECONSTRUCTION` for the
occupants visual contents flags & traits & won't allow hologram/abstract
item interactions
code: Cryo has improved attack chain & uses defines for reagent volume
rounding
/:cl:

* Minor code clean-up for Cryo

---------

Co-authored-by: SyncIt21 <[email protected]>
* Refactored ghetto chem separator (#83275)

## About The Pull Request

This completely reworks how ghetto chem separator works & brings more
depth & immersion to it. To understand the new system let's compare it
with the current one

**Old System**
1. You insert a beaker containing the reagents you want to separate.
2. You use a lighter/whatever to light a flame, Flame has _magic &
unrealistic_ properties such as
    - It will never heat the beaker above 100k
    - It doesn't burn oxygen or use fuel source to sustain it
- Distillation rate is a constant 5u/s. It doesn't increase as the
solution boils hotter

3. The apparatus sorts the reagents alphabetically? & transfers the 1st
reagent from sorted list to the target beaker. It does not care if each
individual reagent has their boiling points & how to separate them based
on that etc. It's just bland overall

**New System**
1. You insert a beaker containing the reagents you want to separate,
just lke the old system
2. You use a lighter/whatever to light a flame just like the old system,
however flame behaves in a more realistic fashion as follows
- It will heat the beaker all the way to 1000k if you let it run long
enough
- It now burns oxygen & uses a fuel source(a secondary beaker which you
must insert containing flamable reagents like oil, welding fuel etc).
When oxygen is the fuel source no O2 gas is required
    - Distillation rate starts at 2u/s & increases with rising temps
- Intensity of the flame depends on the quality of reagents used as
fuel, Oil has best flammable quality & will heat the beaker faster,
other reagents mixed in various proportions can produce better quality
flames which you can understand by examining the aparatus
    - The flame intensity can be adjusted via the burner knob setting
3. Each reagent now has their _boiling computed_ computed from their
mass allowing for realistic interactions, like having to control the
temp's just right to separate your required reagent
4. Temps automatically cooldown and you can install a condenser to
Facilitate faster cooling

Here's the demo video explaining everything

https://github.com/tgstation/tgstation/assets/110812394/ba591859-3fff-4d06-90f8-024c7266f830

## Changelog
:cl:
refactor: ghetto chem separator has been reworked from scratch. See PR
83275 for details
qol: adds examines & screentips for ghetto chem separator
/:cl:

* Refactored ghetto chem separator

---------

Co-authored-by: SyncIt21 <[email protected]>
* Biogen refactor + fixes [no gbp] (#83589)

## About The Pull Request
They were using a nested uselocalstate which I naively converted to
usestate

This gave it the treatment(tm) which means just simplifying it by not
creating a component which maps new items inside of itself

I also fixed the layout shift caused by buttons / pricing

![image](https://github.com/tgstation/tgstation/assets/42397676/f8f99d68-4d50-4d73-a266-020487e6764b)
## Why It's Good For The Game
Fixes #83571
## Changelog
:cl:
fix: Fixed the biogenerator's tabs
/:cl:

* Biogen refactor + fixes [no gbp]

---------

Co-authored-by: Jeremiah <[email protected]>
* Update medical.dm

* Automatic changelog for PR #1 [ci skip]

* Update kahraman_industries.dm

* Delete html/changelogs/AutoChangeLog-pr-1.yml

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Useroth <[email protected]>
* Fixes being permanently attached to tram (#83606)

## About The Pull Request

Verifies transport contents at time of tram departure, removing any
invalid movables

Fixes tgstation/tgstation#77722

## Why It's Good For The Game

Movables no longer get invisibly, permanently attached to the tram in
rare event transport moves before contents are updated.

## Changelog

:cl: LT3
fix: Fixed bug where players could be invisibly attached to the tram
forever
/:cl:

* Fixes being permanently attached to tram

---------

Co-authored-by: lessthanthree <[email protected]>
@ORCACommander ORCACommander merged commit 5cab238 into master Jun 2, 2024
25 of 26 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.