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 22.11.24 #783

Merged
merged 51 commits into from
Nov 21, 2024
Merged

Merge upstream 22.11.24 #783

merged 51 commits into from
Nov 21, 2024

Conversation

larentoun
Copy link
Collaborator

@larentoun larentoun commented Nov 21, 2024

About The Pull Request

Мере

timothymtorres and others added 30 commits November 20, 2024 19:23
)

## About The Pull Request
- Fixes tgstation#87897

There was an exploit where you can polymorph into the lustrous race and
gain the beneficial brain trauma and then polymorph into another race
and still keep the trauma. The code was transferring the brain traumas
to the new body before it was deleted from the brain.

It's now fixed. Special thanks to Melber for coming up with a better
solution than the ones I brainstormed.

## Why It's Good For The Game
Exploits are bad m'kay.

## Changelog
:cl: timothymtorres, MrMelbert
fix: Fix lustrous brain trauma not removing during polymorph
/:cl:
## About The Pull Request
- Fixes tgstation#88001. Pllumbing pill press now reads the maximum volume of the
selected product instead of showing a constant of 50u. Patches have a
maximum volume of 40u so we send that to the UI
- Plumbing pill press now validates the selected container to see if
it's a valid printable option to prevent href exploits. It has the same
issue as tgstation#87779 but now that's fixed
- Plumbing pill press checks to see if the input volume is a number and
returns false to stop the UI from updating if not

## Changelog
:cl:
fix: plumbing pill press advertises the correct maximum volume of your
selected product instead of always 50u on the UI
code: plumbing pill press validates selected container to prevent href
exploits
code: plumbing pill press validates input volume to see if it's a number
/:cl:
…ion#88023)

## About The Pull Request
title
## Why It's Good For The Game
it doesn't fit and doesn't make sense
## Changelog
:cl: grungussuss
sound: the glove pickup sound will no longer play for modsuits
undeploying
/:cl:
## About The Pull Request
the args here are user and set density. we are giving it null and user,
no good

## Why It's Good For The Game
better

## Changelog
…station#87866)

## About The Pull Request
I've been meaning to do this for some time. I need this for
portable/handheld aquariums/fishtanks to be possible. I'll sprite and
code them before I call this PR ready, however suggestions and code
reviews are welcome in the meantime.

Being a pretty heavy refactor, some things might break (we have more
than a few unit tests so perhaps not) while others, coincidentally,
might be fixed without me knowing. Anyway I'm sure this PR fixes
aquarium beauty, which wasn't really working to begin with because the
code was so fucking bad. Nothing really worth of a CL entry tho.


TODO:
- [x] handheld aquariums, craftable with a kit and little plastic or
buyable from the fun vendor ig.
- [x] an aquarium upgrade for handheld aquariums to bypass possible
restrictions.
- [x] update the beauty element to consider items, which shouldn't
contribute to the area beauty when held or otherwise not on a turf.

## Why It's Good For The Game
This should make handheld aquariums possible.

## Changelog

:cl:
refactor: refactored aquariums heavily. Please report any fishy bug.
add: Added portable/handheld fish tanks to the game. They can be crafted
with an aquarium kit and 5 sheets of plastic. While portable, they
cannot store fish that are too big or if there're too many already. This
restriction can be removed by using the new "bluespace fish tank kit"
techweb item.
map: Replaced the lawyer's stationary pet aquarium with a fish tank, so
you can carry McGill around.
balance: Reduced the iron cost of stationary aquariums a little.
/:cl:
…surgery (feat organs sanity fix) (tgstation#87774)

## About The Pull Request
This allows you to use a fishing rod during the "manipulate organs" step
of the aforementioned surgery to snatch organs from a target.

Unlike other fish sources, this one has a negative fishing difficulty of
-20, which when summed with the default minigame difficulty should still
result in a negative difficulty. In layman terms, this means the
minigame is skipped here (unless you're wearing some clunky stuff like
insulated or boxing gloves). It also has a wait time of 8 to 13 seconds
versus the more random standard 3 to 25 seconds.

A small side-effect of this is that explosions during the "manipulate
organs" step will basically disembowel you, but it kinda fits anyway.

By the by, because of this, there is a tiny chance bluespace fishing
rods can yield you random organs. Worry not, they're newly generated, so
you won't be snatching it from another player by accident (at least for
now).

## Why It's Good For The Game
It adds more possible weird and rare shenanigans involving surgery.

## Changelog

:cl:
Add: You can use a fishing rod to snatch organs during organ
manipulation surgery
/:cl:
)

## About The Pull Request
Added missing updatepaths from
tgstation#86084 , which updates
floorbots path to repairbots

Checked it by applying it, downstream map has correctly changed

## Why It's Good For The Game
Easier to apply changes on downstream maps
## About The Pull Request
this is a partial rewrite of monkey's attacking behavior

## Why It's Good For The Game
closes tgstation#87893

## Changelog
:cl:
fix: fixes monkey AI not being able to attack 
/:cl:

---------

Co-authored-by: Ghom <[email protected]>
…tation#87805)

## About The Pull Request

* A generic /mob/eye/camera type has been made, containing everything
needed to interface with a cameranet
* /mob/eye/ai_eye has been refactored into a generic /mob/eye/camera
instance
* Advanced cameras no longer inherit from AI eyes, splitting off
behaviour
* Camera code has been somewhat cleaned up
* Probably some more stuff I'm forgetting right now

## Big man Southport:

![image](https://github.com/user-attachments/assets/de6e6ff0-ca99-4636-bdec-5e0b2d6b8037)

## Changelog

:cl:
code: made /proc/getviewsize() pure

refactor: mob/eye/ai_eye has been restructured, now inheriting from a
generic mob/eye/camera type
refactor: advanced cameras and their subtypes are now
mob/eye/camera/remote subtypes
code: the cameranet no longer expects the user to be an AI eye
code: remote camera eyes have had their initialization streamlined
code: remote cameras handle assigning and unassigning users by
themselves now
code: remote cameras now use weakrefs instead of hard referencing owners
and origins
code: also the sentient disease is_define was removed (we don't have
those anymore)
fix: AI eyes no longer assign real names to themselves, fixing their
orbit name
/:cl:

---------

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

![wwwww-export](https://github.com/user-attachments/assets/d69c82f2-ba12-4eed-8274-744bd9ecd9a6)
## Why It's Good For The Game


![gambling-addicts-gambling](https://github.com/user-attachments/assets/19cdeb45-0dae-418f-8ce6-1cd0d63c57c4)
## Changelog
:cl: wallem
image: Updates slot machine sprites
/:cl:
## About The Pull Request
So the white cap in loadout isn't very white. In fact it's a cargo cap. 

![image](https://github.com/user-attachments/assets/d80e9270-08ec-42a2-9931-39dc3e55aa08)

![image](https://github.com/user-attachments/assets/732118d3-97df-4e18-b042-5ab55f12e29b)
Now it's a white cap.
Speaking of loadout someone should add thin prescription glasses to it.
Not me though I'm starving for gbp...
## Why It's Good For The Game
The loadout shouldn't lie.
## Changelog
:cl:
fix: Turns Cap (White) into a white cap in loadout
/:cl:
## About The Pull Request

Closes tgstation#88050

## Changelog
:cl:
fix: Fixed incorrect coverage descriptions
/:cl:
## About The Pull Request
### comparison:


https://github.com/user-attachments/assets/31434a87-231c-4ffa-94b1-440b699c20ef


https://github.com/user-attachments/assets/0482062b-b6d0-4b1c-aca1-515a3589179b
## Why It's Good For The Game
let's not infringe on copyright
## Changelog
:cl: grungussuss
sound: the "curse you" sfx has been replaced
/:cl:
…gstation#88048)

## About The Pull Request

Closes tgstation#83370
Converted most cases where we could benefit from using shared particles
(aka when there's probably more than 3 uses of that particle in a round)
to use the new shared particle system. Should provide significant
clientside performance in particle-heavy areas like botany (or sometimes
kitchen)

## Changelog
:cl:
refactor: Converted most common particle sources to use our new pooling
system.
/:cl:
## About The Pull Request

What is says on the tin. A really simple, though pretty generic looking
kitchen utensil sprite for suit storage.


![image](https://github.com/user-attachments/assets/0eb6324b-41a1-4a6d-92ef-cb67e1240167)

## Why It's Good For The Game

Pink sprites suck. It's so immersion breaking. This resolves that. (why
exactly isn't this being caught by unit tests anyway?)

## Changelog
:cl:
image: Kitchen and eating utensils now have suit storage sprites.
/:cl:
…rn sprite, (tgstation#88043)

## About The Pull Request

What is says on the tin. Closes
tgstation#75513

## Why It's Good For The Game

This looks really weird with some hairstyles, and doesn't make much
logical sense as to what exactly it _is_. It might have been something
left over from a previous version? I really can't tell, but it doesn't
look good.

## Changelog
:cl:
image: Cleans up some redundant pixels on the bowman sprites.
/:cl:
tgstation-ci bot and others added 21 commits November 21, 2024 17:17
## About The Pull Request
- Fixes tgstation#88053

## Changelog
:cl:
fix: Labour stacker machine gives points for sheets again
/:cl:
## About The Pull Request

Fixes tgstation#84338

When handcuffed or crit, you are unable to resist even a passive grab,
you are truly helpless

Yet monkeys ignore this

They ignore this because the code handling above is on the client:
`/client/proc/Process_Grab()`

The ideal fix for this is to move it off the client, but that carries a
bunch of order of operations shenanigans so I'll leave that for a more
in depth refactor of this kinda stuff

In the meanwhile we can simply tell AI controllers not to move if
grabbed and incapacitated (barring stasis)

## Changelog

:cl: Melbert
fix: Monkeys no longer ignore basic rules such as "you can't escape a
passive grab if you're cuffed or in crit"
/:cl:
## About The Pull Request

Closes tgstation#88013

## Changelog
:cl:
fix: Reconnected Wawa's sci to atmos distro
/:cl:
…on#88026)

## About The Pull Request

Proc was overriden on the wrong subtype, making all hoverboards have
holyboard behavior (being slowed down in space or when hovering in the
air)

## Changelog
:cl:
fix: Fixed all hoverboards having holyboard space slowdown effect
/:cl:
## About The Pull Request
Makes light mode light again. There is some weirdness going on with
imports that I must troubleshoot longer. This will work in the meantime
## Why It's Good For The Game
it brite

![image](https://github.com/user-attachments/assets/9f1fa64f-1d9f-4aa8-8cff-9a8b16e191b0)
## Changelog
:cl:
fix: TGUI panel light mode should no longer be gross gray
/:cl:
## About The Pull Request

Harddels bad passing CI on PRs good

Closes tgstation#87484
Closes tgstation#87485
@github-actions github-actions bot added :neckbeard: Документация Некоторые просто любят писать тонну текста, которую никто не будет читать. TGUI Добавление или изменение существующего интерфейса на базе фреймворка TGUI 🔉 Звук Нам скорее всего нравится как это звучит. 🖌️ Спрайты Вы заработали свою миска-рис и кошко-жена. Партия гордится вами! 🗺️ Изменение Карты В этом ПРе затронут файл не станционной карты. Может и не один. 🎸 Инструменты Мы выдаем себя за реальное сообщество разработчиков. 🙏 Слияние с восходящим потоком О великий восходящий поток, спасибо что приносишь нам свои дары контента и багфиксов labels Nov 21, 2024
Copy link

This PR causes following conflicts on translate branch:

code/modules/food_and_drinks/machinery/microwave.dm
++<<<<<<< HEAD
 +			visible_message(span_danger("You smell a burnt smell coming from [src]!"), ignored_mobs = cant_smell)
 +			add_shared_particles(/particles/smoke)
 +			addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/movable, remove_shared_particles), /particles/smoke), 10 SECONDS)
++||||||| e99a1c33201
++			visible_message(span_danger("You smell a burnt smell coming from [src]!"), ignored_mobs = cant_smell)
++			particles = new /particles/smoke()
++			addtimer(CALLBACK(src, PROC_REF(remove_smoke)), 10 SECONDS)
++=======
+ 			visible_message(span_danger("Вы чуете запах гари из [declent_ru(GENITIVE)]!"), ignored_mobs = cant_smell)
+ 			particles = new /particles/smoke()
+ 			addtimer(CALLBACK(src, PROC_REF(remove_smoke)), 10 SECONDS)
++>>>>>>> origin/translate
code/modules/surgery/organ_manipulation.dm
++<<<<<<< HEAD
++||||||| e99a1c33201
++/datum/surgery/organ_manipulation/mechanic/next_step(mob/living/user, modifiers)
++	if(location != user.zone_selected)
++		return FALSE
++	if(user.combat_mode)
++		return FALSE
++	if(step_in_progress)
++		return TRUE
++
++	var/try_to_fail = FALSE
++	if(LAZYACCESS(modifiers, RIGHT_CLICK))
++		try_to_fail = TRUE
++
++	var/datum/surgery_step/step = get_surgery_step()
++	if(isnull(step))
++		return FALSE
++	var/obj/item/tool = user.get_active_held_item()
++	if(tool)
++		tool = tool.get_proxy_attacker_for(target, user)
++	if(step.try_op(user, target, user.zone_selected, tool, src, try_to_fail))
++		return TRUE
++	if(tool && tool.tool_behaviour) //Mechanic organ manipulation isn't done with just surgery tools
++		to_chat(user, span_warning("This step requires a different tool!"))
++		return TRUE
++
++	return FALSE
++
++=======
+ /datum/surgery/organ_manipulation/mechanic/next_step(mob/living/user, modifiers)
+ 	if(location != user.zone_selected)
+ 		return FALSE
+ 	if(user.combat_mode)
+ 		return FALSE
+ 	if(step_in_progress)
+ 		return TRUE
+ 
+ 	var/try_to_fail = FALSE
+ 	if(LAZYACCESS(modifiers, RIGHT_CLICK))
+ 		try_to_fail = TRUE
+ 
+ 	var/datum/surgery_step/step = get_surgery_step()
+ 	if(isnull(step))
+ 		return FALSE
+ 	var/obj/item/tool = user.get_active_held_item()
+ 	if(tool)
+ 		tool = tool.get_proxy_attacker_for(target, user)
+ 	if(step.try_op(user, target, user.zone_selected, tool, src, try_to_fail))
+ 		return TRUE
+ 	if(tool && tool.tool_behaviour) //Mechanic organ manipulation isn't done with just surgery tools
+ 		to_chat(user, span_warning("Для этого шага требуется другой инструмент!"))
+ 		return TRUE
+ 
+ 	return FALSE
+ 
++>>>>>>> origin/translate
code/modules/surgery/surgery.dm
++<<<<<<< HEAD
 +	if(!tool)
 +		return FALSE
 +	//Just because you used the wrong tool it doesn't mean you meant to whack the patient with it
 +	if((surgery_flags & SURGERY_CHECK_TOOL_BEHAVIOUR) ? tool.tool_behaviour : (tool.item_flags & SURGICAL_TOOL))
 +		to_chat(user, span_warning("This step requires a different tool!"))
++||||||| e99a1c33201
++	if(tool && tool.item_flags & SURGICAL_TOOL) //Just because you used the wrong tool it doesn't mean you meant to whack the patient with it
++		to_chat(user, span_warning("This step requires a different tool!"))
++=======
+ 	if(tool && tool.item_flags & SURGICAL_TOOL) //Just because you used the wrong tool it doesn't mean you meant to whack the patient with it
+ 		to_chat(user, span_warning("Для этого шага требуется другой инструмент!"))
++>>>>>>> origin/translate

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

Successfully merging this pull request may close these issues.