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

update #157

Merged
merged 248 commits into from
Jul 9, 2024
Merged

update #157

merged 248 commits into from
Jul 9, 2024

Conversation

Huz2e
Copy link
Owner

@Huz2e Huz2e commented Jul 8, 2024

No description provided.

mc-oofert and others added 30 commits July 2, 2024 06:10
## About The Pull Request
portascrubbers also scrub the tile theyre on

## Why It's Good For The Game

fixes tgstation#84539

## Changelog
:cl:
fix: portascrubbers also scrub the tile theyre on
/:cl:
## About The Pull Request

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)

## Why It's Good For The Game

The sprite was old.

## Changelog

:cl:
image: New linen bin / basket sprites
/:cl:
… have missed (tgstation#84551)

## About The Pull Request
Closes tgstation#83926
Meteor Z level exit was handled in COMSIG_QDELETING signal... deleting
itself mid-qdel. I fixed that, and made it only call the new function
when actually reaching the end of the map. Should also fix dark matteors
always making a miss announcement and resetting the security level.

## Changelog
:cl:
fix: Dark matteors no longer claim that they have missed when they
actually impacted the station
/:cl:

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request

Fixes the fishing experiments from giving an outrageous amount of
points, bringing it in line with their tech work.

## Why It's Good For The Game

Minor Fishing experiments no longer give enough tech to replace 20
minutes of pasive tech generation, thus preventing fishermen from making
the entire science department irrelevant.

Fixes Downstream: NovaSector/NovaSector#3233

## Changelog
:cl:
fix: Brought the fishing rewards experiments to normal values.
/:cl:
…hem to you by strangling them (tgstation#84546)

## About The Pull Request

Was told that apparently recent changes have made it possible to grab
and strangle people at a distance with telekinesis... which then
teleports them to you.
Looking into it, it seems to be a missing flag in the following check
preceding pulling living things:

https://github.com/tgstation/tgstation/blob/fe7da20ea3ed26d9f177aed894910451127fd851/code/_onclick/click_ctrl.dm#L37-L38
Adding `FORBID_TELEKINESIS_REACH` fixes this.
## Why It's Good For The Game

I recall telekinesis isn't supposed to let you grab people from a
distance.
"Supposed to"s aside, being able to grab and obstruct people from a
distance with no difficulties in doing so is annoying at best and awful
at worst. The strangle teleporting is obviously just plain broken.
## Changelog
:cl:
fix: Fixed telekinesis letting you grab people at a distance, and
teleport them to you by strangling them.
/:cl:
## About The Pull Request

New more meaty shove sound effects to give better feedback. Made using
sound effects already in-game files (pillowhit and thudwoosh)


https://github.com/tgstation/tgstation/assets/42353186/7f5d516e-36e5-4d7d-8272-a24c842e962c

Used in:
- Random scary maints sounds
- Ling tentacle hitting someone
- Wrestling off slimes
- Shoving (duh)
## Why It's Good For The Game

Shoving shares the same sound with two other intents - Grabbing and
Hugging.
This makes it more different from those two and gives better feedback.
Shoving someone wouldn't just make a "woosh" as you apply hefty kinetic
force to their body, so slight punchiness to it is good.
After brawlening has been merged shoves have become even more dangerous,
even if not against the wall.

Fights should sound more violent.
## Changelog
:cl: DrDiasyl aka DrTuxedo
sound: Shoves now produce more meaty sound!
/:cl:
## About The Pull Request

Corrected the bioemergency crate to bring general instead of generic bio
suits, thus allowing for a source of general biosuits to exist, and
allowing for the Security Biosuits recipe to be crafted.

## Why It's Good For The Game

Allows for security to craft their own security bio suits, keeps the
equipment consistent by making it so we get a general type of the object
instead of the generic which shouldn't exist.

Fixes downstream: NovaSector/NovaSector#530

## Changelog
:cl:
fix: Bio Emergency crates now bring Bio Suits and Hoods compatible with
the Security Hoods and Suits Schematics.
/:cl:
## About The Pull Request
Fixes the basic sandwich recipe from having the incorrect ingredients
and incorrect food types. Now its consistent with its description, taste
and ingredients.

## Why It's Good For The Game
Makes things consistent, gives a vegetable recipe the vegetable
ingredient, and meat and dairy ingredients the meat and dairy tags.

Fixes downstream: NovaSector/NovaSector#1318

## Changelog
:cl:
fix: Fixed the basic Sandwich recipe and tags, now it matches the
description and original intent.
/:cl:
## About The Pull Request

Changes the crew monitor sort setting default to vitals, damaged crew on
top.


![crewmonitor](https://github.com/tgstation/tgstation/assets/83487515/2ba7796c-bbf3-49eb-bcb0-6f1db414202d)

## Why It's Good For The Game

This way by default the injured/dead are at the top of the crew monitor,
not needing to be adjusted each time

## Changelog

:cl: LT3
qol: Crew monitor defaults to sort by vitals
/: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
Finally dusts off this project to make a deathmatch style bitrunning
map.
Don't be too intimidated by the file diff, lots of code organization +
resized a large map.

Changes:

1. Reuses the gateway beach map as a combat zone (99% of the file diff)
(maptainers: i just added spawners and areas)
2. Alters how bitrunning handles spawning: Custom spawns are now
available, which can be anything

Misc organization:

- Splits netpod.dm into separate files.
- Fixes some wording in vdom map documentation.
- Organizes vdom variables a bit.
- Adds a permanent hololadder spawn.

How bitrunning deathmatch works: 

- Temporary spawners are offered to both ghosts and bitrunners. 
- Runners spawn in like usual. Ghost can use the spawner menu.
- Ghosts work to prevent avatars from collecting side objectives or try
to cause mass brain damage.
- The domain completes after a number of deaths accrue. Any faction.
Blood for the blood god, etc.
- This map can be played solo. ANY deaths.

<!-- 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've been toying with the idea of a deathmatch style map for some time.
I liked syndicate assault, the spawners were intentionally left there,
and the possibility of player-controlled players made the experience
more tense and challenging.

This PR leans into this idea: The virtual world is dangerous. Players
get a chance to compete on both sides here. It offers a lot of variety
to bitrunning other than "run for box". It's also very lucrative if
ghosts join in.

<!-- 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

<!-- 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: Added a bitrunning deathmatch map: Island Brawl. Both ghosts and
runners get many more spawns than normal.
fix: Lowered the static vision time in domain load in.
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: 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. -->
## About The Pull Request
The gun code is an absolute mess that seems to have been untouched for
the better part of the decade and finally gave way due to the attack
chain refactor. This PR is the first in my attempts to refactor this
mess by making bayonet attachment a component instead of /obj/item/gun
variables. Followup PRs may or may not be atomic changes or a monolith
due to how horribly the original code is structured.

## Why It's Good For The Game
Gun code is ancient, unmaintained, barely readable and started actively
breaking in the past weeks.

## Changelog
:cl:
refactor: Bayonet attachment is now a component.
/:cl:
## About The Pull Request



https://github.com/tgstation/tgstation/assets/70376633/cde82903-80d9-4b9b-8d96-73b710dd61d9

255 new words, check files changed for info

## Why It's Good For The Game

vox being usable for actual sentences would be nice, actually

## Changelog
:cl:
add: 254 new vox lines
/:cl:
…gstation#84495)

## About The Pull Request

Part of a series of quickly checking in-round runtimes.

Air alarms call check_danger() and `check_environmet()` throughout their
operation to collect data on the environment and air around the
machinery, and then update overlays, alarms, etc. There were a few
instances in round where it was being passed null to environment within
check_danger, which was causing it to runtime. Running through the proc
chain, the whole logic here seems to rely on being able to obtain it's
environment variable, which is why I've added early returns if
environment is not met on air alarms to prevent said runtimes.

## Why It's Good For The Game

Less runtimes means cleaner code on live.

## Changelog

No player facing changes.
…tion#84494)

## About The Pull Request

Yesterday I was observing a few rounds and skimmed through the list for
any easy runtime fixes. Here was one I found.

In the `make_cig_smoke()` by cigarettes, if particles weren't setup by
the time it got to the next line, it would cause this runtime. This adds
a ?. (called an elvis operator, fun fact) so that if
`cig_smoke.particles` isn't there, it won't runtime.

## Why It's Good For The Game

Less runtimes, cleaner code results on live.

## Changelog

No player facing changes.
comfyorange and others added 29 commits July 8, 2024 07:17
…84533)

## About The Pull Request
Apparently I've left out that `isopenspaceturf(A)` returns false on
normal (not multi-z) space turfs because they're of a different path.
This should fix the fact you can use hoverboards as a substitute
jetpacks, which wasn't intended. You can still use them in space if
there's lattice/catwalk underneath, or another kind of turf on the
z-level below however.

## Why It's Good For The Game
Unintended bit from the skateboard buff PR I had made months ago.

## Changelog

:cl:
fix: Hoverboards properly dysfunction in space without any kind of
support underneath them.
/:cl:
…elements (tgstation#84599)

## About The Pull Request

This refactors embedding elements to make them use singleton datums
(similarly to armor) instead being bespoke and creating a new element
every time armor values are supposed to be adjusted.
Default values have been removed from defines due to now being declared
in base class itself.
Additionally fixes vending machines and tackling gloves setting
generated shards (which they instantly embed into their victim) embed
properties to null after running the embedding code, despite said shards
having non-null embedding values by default, making them not be able to
embed into anyone else, also potentially breaking the pain/jostling code
if they somehow get updated.

## Why It's Good For The Game

Current embedding system is an unnecessarily complicated mess as bespoke
elements are hard to work with, and creating a new element every time
you change values is hacky at best. This change should make it easier to
read and work with.

## Changelog
:cl:
fix: Fixed glass shards generated from falling vending machines or
tackling windows not being able to embed into anyone.
refactor: Refactored embedding code to use datums instead of bespoke
elements and ugly associated lists.
/:cl:
## About The Pull Request

worked on my machine
## About The Pull Request
Fixes this issue... again, so now both issues are solved (inaccurate
buttons and scrolling icons)
## Why It's Good For The Game
Fixes tgstation#83492
## Changelog
:cl:
fix: Fixed the orbit icons scrolling sometimes
/:cl:
…on#84677)

## About The Pull Request
Aquariums now have a beauty element based on their contents. Props give
a fixed beauty value, while for fish it depends on whether they're alive
or not. Some fishes have a better score than others. A few, like the
ratfish, even have negative beauty.

Mobs with the morbid trait now get a positive moodlet when admiring an
aquarium full of dead fish, and a negative one when fish are alive.

Also, this brings a few improvements to bits of aquarium code. Namely
the removal of a GetComponent call and a few balloon alert calls.

## Why It's Good For The Game
Aquariums can be quite decorative at times.

## Changelog

:cl:
add: Aquariums now influence the beauty score of an area based on their
contents.
add: Morbid people now get a positive moodlet when admiring an aquarium
full of dead fish, and a negative one when fish are alive.
/:cl:
## About The Pull Request

Demon now takes damage when located in bloodcrawl(every 20 seconds take
5% of max demon hp).
When demon first appears, it does not take damage while in Jaunt. He
also doesn't take damage while he's eating someone.
Demon now can't eat simple animals/basic mobs and etc. Only carbon human
being.

## Why It's Good For The Game

Makes demons less immortal.

## Changelog

:cl:
balance: Demon: bloodcrawl now deal damage when you using it.
balance: Demon: demon can eat only carbon human beings.
/:cl:

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
… compared to the most common ones (tgstation#84622)

## About The Pull Request
Better baits make it so you've better chances to get rarer fishes
compared to the rest.

## Why It's Good For The Game
So, one small gripe I have with baits is that, while they do improve the
odds of getting fish, amongst themselves it's still pretty much the
same. In most cases, this isn't like a problem, since most fish sources
give most their contents pretty much the same weight, but theorically
it's quite meh.

## Changelog

:cl:
balance: Bait quality now influences the probabilities of getting a
rarer fish compared to the most common one(s)
/:cl:
## About The Pull Request

By alt-clicking the security helmet you can flip its visor up/down.
Helmets with visors flipped up do not protect your eyes (duh)

![image](https://github.com/tgstation/tgstation/assets/44720187/8457a767-c431-402e-914b-2533643417cc)

## Why It's Good For The Game

Its a small cosmetic effect that allows players to express themselves
and their tacticoolness a bit more.

## Changelog
:cl:
image: You can now flip your security helmet's visor up with alt-click!
However, doing so will (obviously) expose your eyes.
/:cl:
## About The Pull Request
Rewrites `GetExactComponent` to be 1641 compliant, and more readable
## Why It's Good For The Game
This proc was quite unreadable, and less work to make the server run on
1641
## Changelog
:cl:
refactor: refactored `GetExactComponent` to be 1641 compatible
/:cl:
…ur message (tgstation#84723)

## About The Pull Request

This adds a menu to all admin narrate verbs that allows you to select a
span type for your message. This includes global, direct, world, subtle,
and headset narrates.

This includes (nearly) all forms of text span. Some were not included,
like OOC announcements, centcom priority announcement headers, the span
used for hyperlink text, stuff like that. They're mostly all there, but
the stuff that probably shouldn't be showing up under a generic chat
message has been excluded. There's well over 100 of these things, so
pick whatever you want.

Due to the way this works, you can close the spans in the message
mid-string, in case you wanted to have multiple text formats in the
message. You can also just format text the old-fashioned way if you
really wanted.


![image](https://github.com/tgstation/tgstation/assets/28870487/3ef57ba8-972f-4cf6-95af-d0cfd6d7c169)

**_Fun fact -- When using admin OOC spans, the reply will copy whatever
your admin OOC color is._**

![image](https://github.com/tgstation/tgstation/assets/28870487/e9b5f7c0-5a07-49e8-bcc3-57e7adf6cf52)

Yeah I'm sure you can tell I'm a super mature person by what the test
messages I used here were. Laugh it up. Just know that I'm laughing too,
like a grade schooler who just learned their first swear words.
## Why It's Good For The Game

No more futzing about with copypastes and big long text files with the
span formatting already written out. Now, you can just pick them from a
list. Neato!

This will increase adminbus immersion by a factor of at least 3-5%
assuming all projections and the data we have been provided holds true.
## Changelog
:cl: Rhials
admin: Narrate verbs will now allow you to pick what text formatting
span you want to use before you send them, if any.
/:cl:
…tation#84540)

## About The Pull Request

Added the subtype vendor which lets admins and coders vend subtypes of a
path

Added the vendor and both varieties of omnitool to runtime station

## Why It's Good For The Game

Better and faster testing environment. Runtimestation is horribly
inefficient rn but this will help a bit

## Changelog

:cl:
code: Added the subtype vendor which lets admins and coders vend
subtypes of a path
code: Added the vendor and both varieties of omnitool to runtime station
/:cl:
## About The Pull Request

bloodbros get a hud
teambased antagonists may not see the HUDs of other teams
![2024-07-06
11_12_17-Window](https://github.com/tgstation/tgstation/assets/70376633/e4c6dfde-47fe-4e45-9350-956e14bf18fb)

additionally if TESTING is defined flashing a clientless mindless mob
works

## Why It's Good For The Game

fixes tgstation#83617

## Changelog
:cl:
qol: blood bros get a hud to see eachother
code: teambased antagonists may not see the HUDs of other teams
/:cl:

---------

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

## About The Pull Request
The mob arg is removed from the proc, but I've forgotten about the calls
still having that arg.

## Why It's Good For The Game
Less runtime errors.

## Changelog
N/A nobody will notice a thing.
@Huz2e Huz2e merged commit 3341b96 into master Jul 9, 2024
16 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.