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

Merge upstream 29.11.24 #826

Merged
merged 51 commits into from
Nov 29, 2024
Merged

Merge upstream 29.11.24 #826

merged 51 commits into from
Nov 29, 2024

Conversation

larentoun
Copy link
Collaborator

@larentoun larentoun commented Nov 29, 2024

About The Pull Request

Мерге апстрим

MrMelbert and others added 30 commits November 27, 2024 11:38
## About The Pull Request

I made these a year ago and meant to PR them but never got around to it

Basically just adds a bunch of unit tests for a bunch of specific attack
chain interactions that are prone to breaking due to snowflake

Increasing coverage of attack chain is good so people who are working on
it don't have to worry about the 1000 edge cases breaking

- Blocking (both unarmed and armed)
- Cuffs
- Eyestab
- Flashes (combat mode, non combat mode, with flash protection)
- Help intent
- Pistol whip
- Butchering with a bayonet 
- Damp rag smothering
- Droppers
- EMP flashlights
- Holofans
- Door attack hand redirector
- Tool usage on Cyborgs
- Punching Cyborgs
- Ability to bash tables
- Ability to bash any structure
- Ability to use tools on machinery
- Kinetic Crusher projectile
- Spraycans (capping, making graffiti) 
- Loading a syringe gun
…ero sprite bloat) (tgstation#88096)

## About The Pull Request
Refactors and extends the existing [digitigrade clothing
system](tgstation#85406) to also
support oversuits and shoes (only enabled for sneakers, specific boots,
and shaft miner's explorer suit). All digitigrade-specific clothes are
generated by GAGS by color sampling the base sprite and applying it to a
greyscale template.


![image](https://github.com/user-attachments/assets/c4ce5996-9373-4d76-a0e5-a6b094dd10b4)

More up to date boots:

![image](https://github.com/user-attachments/assets/8ead8056-25a3-42dd-9fde-e838e2a810b9)


![image](https://github.com/user-attachments/assets/783a1201-8a77-45a0-af85-8a63b41b63a8)


Credit to MrMelbert for prototype code and Junkgle for new sprites

## Why It's Good For The Game
Looks good, doesn't introduce maintainability issues or sprite bloat

## Changelog
:cl:
add: digitigrade lizards can wear certain shoes and suits
image: added digitigrade shoes & oversuit templates
refactor: improved digi clothing generator code
/:cl:

---------

Co-authored-by: MrMelbert <[email protected]>
Co-authored-by: Roryl-c <[email protected]>
…ation#87103)

## About The Pull Request
A new item for 2 TC has been added to the chef's traitor uplink –
Molt'Obeso sauce!
Buying it, you get a bottle for 50 units, filled with this sauce. After
eating Molt'Obese, you'll think you're still hungry. It also removes the
limit on how much food you can eat, so you can just keep going and
going, but you never get full. Plus, Molt'Obeso helps your body absorb
more nutrients from food, so the food is even more nourishing with it.
## Why It's Good For The Game
The Syndicate sabotages the NT station by making everyone fat?
## Changelog
:cl:
add: Add a new item to the chef traitor's uplink: Molt'Obeso sauce. A
sauce that makes people want to eat too much.
/:cl:
…gstation#88232)

## About The Pull Request
I have grown to dislike the previous implement of explosive fishing. It
was particurly broken around fish sources that checked if the fishing
spot was of a specific type, and the FISH_SOURCE_FLAG_EXPLOSIVE_MALUS
flag only really worked around turfs because of the gap between pooling
the spawn locations and spawning the loot, which would have made trying
it on movables quite unsafe since they're moved to nullspace when
deleted.

This has lead me to rework how explosive fishing malus/exhaustion
accumulates in a simplier and more effiient way. Fish are now spawned
immediately, and the counter for the malus goes up by one each call, and
decays over time at a rate of 1 every 5.5 seconds.

This also fixes tgstation#88227.

## Why It's Good For The Game
Easier implementation of explosive fishing and bugfix.

## Changelog

:cl:
fix: Bombing someone during organ manipulation no longer summons new
organs.
/:cl:

---------

Co-authored-by: Time-Green <[email protected]>
## About The Pull Request

Adds a new biotype, MOB_AQUATIC, indicating the mob is water-themed
somehow. Given to carp, lobstrosities, frogs, axolotls, penguins, fire
sharks.

Aquatic mobs can be hooked by fishing rods, even without a jawed fishing
hook installed.

The carp and fish infusion sets now give the infusee the aquatic
biotype. Added support for infusions adding a biotype.

You can check for a fish's pulse with a stethoscope, which will tell you
its status even without fishing skill.

Refined fish health status checks to be more precise.

Added 'Fishy' Reagent, a version of strange reagent that only works for
fish or aquatic biotype mobs. It's made with omnizine, saltwater, and
carpotoxin or tetrodotoxin.

Added a lifish chemical reaction that creates fish.
## Why It's Good For The Game

Fish content fish content fish content

> Adds a new biotype, MOB_AQUATIC, indicating the mob is water-themed
somehow. Given to carp, lobstrosities, frogs, axolotls, penguins, fire
sharks.

We were really missing this one by now.

> Aquatic mobs can be hooked by fishing rods, even without a jawed
fishing hook installed.

> The carp and fish infusion sets now give the infusee the aquatic
biotype. Added support for infusions adding a biotype.

I want to reel in fish people. This is going to be hilarious.

> You can check for a fish's pulse with a stethoscope, which will tell
you its status even without fishing skill.

Fish doctor content - also lets you see the exact status of a fish's
health even if you haven't interacted w/ fishing that shift.

> Added 'Fishy' Reagent, a version of strange reagent that only works
for fish or aquatic biotype mobs. It's made with omnizine, saltwater,
and carpotoxin or tetrodotoxin.

A somewhat easier to get version of strange reagent, purely for fish, as
they die very easily and the road to making SR is a large diversion. I
might add this to cargo, maybe?

> Added a lifish chemical reaction that creates fish.

Fish. fish fish fish fish fish.

@Ghommie 
## Changelog
:cl:
add: Adds a new biotype, MOB_AQUATIC, indicating the mob is water-themed
somehow. Given to carp, lobstrosities, frogs, axolotls, penguins, fire
sharks.
add: Aquatic mobs can be hooked by fishing rods, even without a jawed
fishing hook installed.
add: The carp and fish infusion sets now give the infusee the aquatic
biotype. Added support for infusions adding a biotype.
add: You can check for a fish's pulse with a stethoscope, which will
tell you its status even without fishing skill.
qol: Refined fish health status checks to be more precise.
add: Added 'Fishy' Reagent, a version of strange reagent that only works
for fish or aquatic biotype mobs. It's made with omnizine, saltwater,
and carpotoxin or tetrodotoxin.
add: Added a lifish chemical reaction that creates fish.
/:cl:

---------

Co-authored-by: _0Steven <[email protected]>
Co-authored-by: Ghom <[email protected]>
## About The Pull Request

Adds some tips for most of my changes to the game.

## Why It's Good For The Game

Player visibility is important to see what cool features there are and
tips are kind of, well, poorly mantained, honestly. Like, the last one
was about bitrunning.

## Changelog

:cl:
qol: Added some tips of the round.
/:cl:

---------

Co-authored-by: MrMelbert <[email protected]>
Co-authored-by: Jacquerel <[email protected]>
Co-authored-by: norsvenska <[email protected]>
## About The Pull Request

Removed the scarves station trait and replaced it with modlink scryers.

If you're confused, they're those things on the robotics mod crate whose
sprite annoyingly and opaquely covers up the actual cores.

The scryers allow you to start a semi-private conversation with any
other modlink _ignoring the status of comms_. This doesn't make them as
useful for shouting out threats but lets you discuss things with
essential personnel, or report crime, even after comms is blown up.


![260621454-062983ee-6058-4e78-a3aa-bccda1a3e224](https://github.com/user-attachments/assets/9a6aa38b-e10a-4e23-8691-12538fd3348c)

![image](https://github.com/user-attachments/assets/5464d1a4-5b5b-47c6-9074-080ae3b3592d)


tgstation#77639

This PR doesn't actually give the modlinks names, so they'll all show up
as modlink (394) and be unusable. Something should be done there I'm
just not quite sure how to handle it and the inevitable deluge of
dropped modlinks that would recieve tons of unheeded calls. ~~Maybe we
can make them undroppable for the first 30 minutes.~~
## Why It's Good For The Game

Scryers are a cool and underused aspect of the game. Their ability to
function off comms is balanced out by their _in_ability to speak to more
than one person at once. Having this as a trait helps showcase them and
will likely allow for some enjoyable moments. I'm imagining spam calls,
death threats, _actual_ death threats, prank calls, etc.


![image](https://github.com/user-attachments/assets/c505dab5-cd08-4485-b6cb-2d7390630e2a)
## Changelog
:cl:
add: Centcom's janitorial department has gotten tired of scooping up
discarded scarves from the floor and has instead assigned MODlink
scryers to some stations' crew in an attempt to spice up the disposal
team's jobs.
/:cl:

---------

Co-authored-by: Ghom <[email protected]>
…d in modsuist (tgstation#88030)

## About The Pull Request

You can now wear a hat on any modsuit, even w/o the stabilizing module.

However:
- It will always sit slightly askew, at an angle.
- Involuntarily falling to the ground for any reason will cause the hat
to fall to the ground.
- Being thrown, slapped, or slipped will send it flying off.

Added the Atrocinator, Hat Stabilizer, and Tanning modules to the black
market.

Added the loose hat component to bio/bomb/rad hoods and space helmets.

## Why It's Good For The Game

> You can now wear a hat on any modsuit, even w/o the stabilizing
module.

I think the notion of, say, the Head of Security putting his cap on his
modsuit and then being slipped by the clown, who then steals the cap, is
really funny.


https://github.com/user-attachments/assets/3ad8a74d-0cb8-4118-8beb-d2ce9c76b358

The module is fairly rare and sometimes I just want to wear a silly hat
alongside the modsuit without badgering the captain for his hat module.
The downsides are rather plentiful so it's not like the hat module is
made irrelevant - if anything it makes it more notable.

This will add a bunch of enjoyable silliness to rounds, so I think it's
worth it.

> Added the Atrocinator, Hat Stabilizer, and Tanning modules to the
black market.

> Added the loose hat component to bio/bomb/rad hoods and space helmets.

It sucks losing your iconic drip when you need to venture out to space
for whichever reason - this lets you keep it without taking up space in
your bag, while having the throw downside.

They just feel perfect for the vibes of the black market. More
miscellaneous completely useless fancy stuff that has exorbitant prices
please!

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

:cl:
add: You can now wear a hat on any modsuit, even w/o the stabilizing
module. But it may easily fall off...
add: Added the Atrocinator, Hat Stabilizer, and Tanning modules to the
black market.
add: Added the loose hat component to bio/bomb/rad hoods and space
helmets.
/:cl:

~~I'm having a bit of an issue. Somewhere I fugged up and now the worn
overlay on the mod helmet sprite doesn't work properly...~~ Turns out
that code was never used and nonfunctional to begin with so I removed it
entirely yay
## About The Pull Request

Increased Rusted Harvester health from 35 to 45.

Increased haunted longsword's demolition mod by 20%.

Rusted harvesters won't get narsie telling them to bring her their
victims.

Heretic summons aren't affected by void chill anymore.

Add no gbp tag if you want

## Why It's Good For The Game

> Increased Rusted Harvester health from 35 to 45.

I want these to be frail, but being one-tapped by a sharpened sword is a
tad too much I think. I balanced that health amount when they delimbed
cultists instantly, but that's now a delayed action on crit so it's
moot.

> Increased haunted longsword's demolition mod by 50%.

To some degree I want people to throw these away deep into maintenance,
but there's a binding button now, perfectly serviceable, and I've _seen_
how miserable it is to be stuck alone deep in maintenance waiting for a
just-too-long cooldown to break down 6 airlocks in a row. Seal them away
the right way or suffer the consequences of your actions.

> Rusted harvesters won't get narsie telling them to bring her their
victims.

They ain't yours, dummy.

> Heretic summons & rusted harvesters aren't affected by void chill
anymore.

Why my friends freezing too? :(

This fix also causes 'mansus touched' things to be unaffected by the
chill. It includes the crimson medallion, which is obtainable by
cultists. In my mind that's not a bad thing but it's not my path rework
so I'll tag the author of it

## Changelog

:cl:
balance: Increased Rusted Harvester health from 35 to 45.
balance: Increased haunted longsword's demolition mod by 20%.
fix: Rusted harvesters won't get narsie telling them to bring her their
victims.
fix: Heretic summons aren't affected by void chill anymore.
/:cl:
…tation#88253)

## About The Pull Request


![image](https://github.com/user-attachments/assets/17a5d230-c10f-4fda-b782-0d59c2797bff)
This PR just adds in modulo to the circuit arithmetic component.

## Why It's Good For The Game

You _can_ calculate it yourself, but then it ends up extremely unoptimal
and you're usually better off not doing it. It also ends up really hard
to read.
I want to see more clever circuits and computing things.

## Changelog
:cl:
add: Added in the modulo operator to the circuit arithmetic component.
/:cl:
## About The Pull Request

This fixes double html encoding with AI shuttle calls, due to
`tgui_input_text` being called without setting `encode = FALSE` -
`SSshuttle.requestEvac` expects unencoded text.

I added documentation to `SSshuttle.requestEvac`, including clarifying
that it expects non-html-encoded text.

## Why It's Good For The Game

&​#​39;​ is annoying

## Changelog
:cl:
fix: Fixed double-encoded messages with AI shuttle call reasons.
/:cl:
tgstation-ci bot and others added 21 commits November 29, 2024 03:29
…ation#88236)

## About The Pull Request

Closes tgstation#88230

## Changelog
:cl:
fix: Fixed Nebula's robotics fabricators being obstructed roundstart
/:cl:
## About The Pull Request
You can now fish from aquariums if you wish to. This includes some
backend changes to make it possible for the fish table from
get_fish_table() to contain instances, and all that it entails up to
spawn_reward(), which is a requirement for the gimmick to respect the
various traits and other variables of the already instantiated fish
rather than read from cached properties.

## Why It's Good For The Game
The fish progress score/index had only little nasty flaw that has been
nagging me since day one: Not all fish species can be caught. Skipping
McGill, which is a peculiar case that for cheevo purposes should be
considered a standard goldfish, there is the one, unsignificant yet rare
purple sludgefish which can only be gotten as a rare evolution of the
generic sludgefish. Talk about petty, but this may be a long-term nit I
prefer to handle right now.

Also why not? The 'unmarine mastodon' is near impossible to get unless
you somehow find a oil well which is locked behind a specific ruin.

## Changelog

:cl:
fix: Aquariums are now potential fishing spots.
/:cl:
…rk (tgstation#88281)

## About The Pull Request

Detemination gives you TRAIT_ANALGESIA, so if you take ***too much***
damage you'll be unable to see it as well. Plus linking blunt overlay
hiding to reagents isn't very good practice as it can cause flickering
if you microdose.
(Also fixed incorrect trait sources on the quirk and kept it for the
nocrit deathmatch modifier)

Closes tgstation#88278

## Changelog
:cl:
fix: Fixed damage overlays hiding themselves or flickering when you get
wounded.
/:cl:
…t for effects set to "Curse of Mundanity" (and missing IDs) (tgstation#88240)

## About The Pull Request

Fixes a lot of status effects having the default alert, adds a unit test
to check that status effects don't forget to change it

I chose a test rather than just making the default "no alert" because I
think people making status effects should think about whether it should
have an alert

Also I added a test for effects which did not set an ID because that's
kind of important, I applied the same mindset here to account for
abstract types but admittedly less sold on this one.

## Changelog

:cl: Melbert
fix: You should be afflicted by the "Curse of Mundanity" far, far less
/:cl:
## About The Pull Request

I have... questions, to previous self. Yeah.

## Changelog
:cl:
fix: Fixed projectile parrying
/:cl:
## About The Pull Request
Aquarium kits can now be printed from service, cargo, science
protolathes and the autolathe too, from half a sheet of metal. You still
need the other materials to set it up but it should be fairy simple if
you can access a proto/autolathe.

The 'Growth/Reproduction' setting for aquariums has been renamed to
"Safe Mode", which, on top of disabling features such as growth,
reproduction, evolution, power generation etc etc, will also disable the
water, temperature and food requirements for keeping the fish alive.
Useful if you want a purely ornamental aquarium or you have to skidaddle
somewhere else for a while.
The lawyer, as well as prefilled aquariums start with 'Safe Mode'
enabled.

The 'Aggressive' fish trait has been replaced with 'Territorial', which
is exactly the same but the fish won't lash out unless the aquarium is
populated by five fishes or more. No more angelfish viciously attacking
the guppy and goldfish in prefilled aquariums.

Tweaked a couple values around hunger and fish health loss when starving
or in a bad environment to cause slightly less damage.

Lastly, added screentips to the aquarium component, which is something
I've forgot to do in the PR that brought it.

## Why It's Good For The Game
Aquariums may be a complex feature, but as far as I can tell, I had been
neglecting the possibility of aquariums as simple room decoration for a
while (outside of the beauty-related mechanics), and the constant
maintenance (and perhaps a bit of knowhow) they require makes them awful
at that. Also, the "growth/reproduction" setting really didn't have a
reason to be before, since it didn't offer any tangible benifit to turn
it off, so I had to revamped it.
Also it's been proven by now that keeping aquariums as cargo-orderable
stuff is just bad.

As for the fish trait change, it just sucks to see the angelfish shank
the goldfish with no way to solve it other than removing the
hyper-aggressive killer fish from san diego fella.

## Changelog

:cl:
balance: Aquarium kits can now be printed from cargo, service, science
protolathes as well as the autolathe. They no longer have to be ordered
from cargo.
balance: Revamped the "Growth/Reproduction" setting for aquarium to
"Safe Mode", which also disables the food, temperature and water
requiremenets of aquariums, making it useful for purely decorative
aquariums.
balance: Replaced the "Aggressive" fish trait with "Territorial". No
more angelfish shanking the goldfish and guppy in prefilled aquariums
with less than 5 fishes.
qol: Added screentips to aquariums.
/:cl:
@github-actions github-actions bot added TGUI Добавление или изменение существующего интерфейса на базе фреймворка TGUI 🖌️ Спрайты Вы заработали свою миска-рис и кошко-жена. Партия гордится вами! 🗺️ Изменение Карты В этом ПРе затронут файл не станционной карты. Может и не один. 🙏 Слияние с восходящим потоком О великий восходящий поток, спасибо что приносишь нам свои дары контента и багфиксов labels Nov 29, 2024
Copy link

This PR causes following conflicts on translate branch:

code/datums/components/food/edible.dm
++<<<<<<< HEAD
 +		if(junkiness && eater.satiety < -150 && eater.nutrition > NUTRITION_LEVEL_STARVING + 50 && !HAS_TRAIT(eater, TRAIT_VORACIOUS) && !HAS_TRAIT(eater, TRAIT_GLUTTON))
 +			to_chat(eater, span_warning("You don't feel like eating any more junk food at the moment!"))
++||||||| 11d35806ecc
++		if(junkiness && eater.satiety < -150 && eater.nutrition > NUTRITION_LEVEL_STARVING + 50 && !HAS_TRAIT(eater, TRAIT_VORACIOUS))
++			to_chat(eater, span_warning("You don't feel like eating any more junk food at the moment!"))
++=======
+ 		if(junkiness && eater.satiety < -150 && eater.nutrition > NUTRITION_LEVEL_STARVING + 50 && !HAS_TRAIT(eater, TRAIT_VORACIOUS))
+ 			to_chat(eater, span_warning("Вам сейчас не хочется есть фастфуд."))
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +			if(HAS_TRAIT(eater, TRAIT_VORACIOUS) || HAS_TRAIT(eater, TRAIT_GLUTTON))
 +				message_to_nearby_audience = span_notice("[eater] voraciously forces \the [parent] down [eater.p_their()] throat.")
 +				message_to_consumer = span_notice("You voraciously force \the [parent] down your throat.")
++||||||| 11d35806ecc
++			if(HAS_TRAIT(eater, TRAIT_VORACIOUS))
++				message_to_nearby_audience = span_notice("[eater] voraciously forces \the [parent] down [eater.p_their()] throat..")
++				message_to_consumer = span_notice("You voraciously force \the [parent] down your throat.")
++=======
+ 			if(HAS_TRAIT(eater, TRAIT_VORACIOUS))
+ 				message_to_nearby_audience = span_notice("[capitalize(eater.declent_ru(NOMINATIVE))] прожорливо проталкивает [parent.declent_ru(ACCUSATIVE)] себе в горло.")
+ 				message_to_consumer = span_notice("Вы прожорливо проталкиваете [parent.declent_ru(ACCUSATIVE)] себе в горло.")
++>>>>>>> origin/translate
code/game/machinery/civilian_bounties.dm
++<<<<<<< HEAD
 +		if(possible_shippable.flags_1 & HOLOGRAM_1)
 +			continue
 +		if(isitem(possible_shippable))
 +			var/obj/item/possible_shippable_item = possible_shippable
 +			if(possible_shippable_item.item_flags & ABSTRACT)
 +				continue
 +		if(inserted_scan_id.registered_account.civilian_bounty.applies_to(possible_shippable))
 +			status_report += "Target Applicable."
++||||||| 11d35806ecc
++		if(inserted_scan_id.registered_account.civilian_bounty.applies_to(AM))
++			status_report += "Target Applicable."
++=======
+ 		if(inserted_scan_id.registered_account.civilian_bounty.applies_to(AM))
+ 			status_report += "Цель применима."
++>>>>>>> origin/translate

@larentoun larentoun merged commit 736a2ef into master Nov 29, 2024
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🖌️ Спрайты Вы заработали свою миска-рис и кошко-жена. Партия гордится вами! 🙏 Слияние с восходящим потоком О великий восходящий поток, спасибо что приносишь нам свои дары контента и багфиксов TGUI Добавление или изменение существующего интерфейса на базе фреймворка TGUI 🗺️ Изменение Карты В этом ПРе затронут файл не станционной карты. Может и не один.
Projects
None yet
Development

Successfully merging this pull request may close these issues.