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

[PORT] Fixes rescue chasm fishing (+ some qol) #2440

Merged
merged 5 commits into from
Jul 6, 2024

Conversation

Absolucy
Copy link
Member

@Absolucy Absolucy commented Jun 27, 2024

About The Pull Request

Ports:

Changelog

🆑
fix: (Ghommie) Fixed fishing skeleton mob spawners that immediately crumble back into the void of whatever chasm you fished them from.
fix: (vinylspiders) Rescue hooks will once again drop the mob next to the fisherman instead of just displaying a balloon alert and doing nothing.
balance: (Tattle) You can no longer teleport into chasms.
fix: (lizardqueenlexi) Basic mobs will no longer randomly walk into terrain that harms or kills them.
qol: (carlarctg) Adds a chat message for fishing in a chasm with a normal and rescue hook, to clarify that only rescue hooks can drag up corpses.
/:cl:

Ghommie and others added 5 commits June 27, 2024 14:10
## About The Pull Request
The default spawnables from chasms are spawned on top of the chasm
rather than on the user's turf, and that can be an issue.

## Why It's Good For The Game
This will fix #77982.

## Changelog

:cl:
fix: fixed fishing skeleton mob spawners that immediately crumble back
into the void of whatever chasm you fished them from.
/:cl:
… again (#78418)

## About The Pull Request

Fixes Skyrat-SS13/Skyrat-tg#23763

Somewhere along tgstation/tgstation#77739 and
the following fishing PR's this feature got overlooked and broken.

The args for `dispense_reward()` and `find_chasm_contents()` needed to
be updated as they were just wrong.

This sets them straight and adds an additional fishing unit test for the
rescue hook to hopefully prevent this edge case from being overlooked.

## Why It's Good For The Game

Rescue hooks work again, hooray.

## Changelog

:cl:
fix: rescue hooks will once again drop the mob next to the fisherman
instead of just displaying a balloon alert and doing nothing
/:cl:

---------

Co-authored-by: Ghom <[email protected]>
Chasms prevent teleportation

Fixes #80101

Being able to teleport people into chasms using beacons as an anchor is
bad. It has very little counterplay besides fishing out the beacon,
changing the teleport target (assuming it's not hidden), or killing
someone holding a handtele.

The alternate idea for this PR was to see if the chasm added some sort
of trait to the things falling in it and make it so the teleporter would
ignore things with that trait, but it seems like chasms don't do that.

:cl: Tattle
balance: you can no longer teleport into chasms
/:cl:

---------

Co-authored-by: tattle <[email protected]>
Fixes #79255
Fixes #79272
Fixes #79313
Fixes #79328

As it turns out, "basic avoidance" and "dumb" AI pathfinding were both
broken with regards to dangerous turfs, as was "random walk" idle
behavior. Now, these three things will properly avoid turfs that could
kill the mob.

The global typecache of dangerous turfs has been removed, in favor of a
turf-level proc, `can_cross_safely`, which returns TRUE or FALSE based
on whether a movable atom can cross the turf without being harmed. This
obviously defaults to TRUE, and is overridden for the four dangerous
turf types:
- **Space** can be safely crossed only with TRAIT_SPACEWALK. While space
does not directly cause harm, being sent drifting away is not desirable
behavior.
- **Chasms** and **open space** can be safely crossed with
TRAIT_MOVE_FLYING.
- **Lava** can be safely crossed with TRAIT_MOVE_FLYING or
TRAIT_LAVA_IMMUNE.

If an AI's pathfinding would take it through a dangerous turf, or if it
tries to randomly step onto one, the movement will be cancelled.

Basic mobs have all been ignoring dangerous terrain this whole time.
This means that mobs on Lavaland could walk right into chasms, mobs on
multi-Z stations could be tricked into falling into pits, and so on. In
the case of idle movement, no checks were happening whatsoever, causing
similar problems without players ever being involved.

Notably, skeleton mobs on certain away missions were randomly wandering
into lava, causing one of our many random CI failures of the last week.
They won't do that anymore.

All told, this should make AI behavior a little more believable, by
giving basic mobs literally any sense whatsoever of self-preservation.
:cl:
fix: Basic mobs will no longer randomly walk into terrain that harms or
kills them.
/:cl:

---------

Co-authored-by: Jacquerel <[email protected]>
…ook (#83781)

## About The Pull Request

Title, warns you if you have anormal hook and gives you a heads up it
might work otherwise.

## Why It's Good For The Game

Everyone knows 'fish in chasm to get body', but not many people know
'you can ONLY use the rescue hook to get body'. This clarifies that! It
reduces misinformation and confusion.

## Changelog

:cl:
qol: Adds a chat message for fishing in a chasm with a normal and rescue
hook, to clarify that only rescue hooks can drag up corpses.
/:cl:
@Absolucy Absolucy changed the title Fixes rescue chasm fishing (+ some qol) [PORT] Fixes rescue chasm fishing (+ some qol) Jun 27, 2024
@wraith-54321 wraith-54321 merged commit 5fc4b8b into Monkestation:master Jul 6, 2024
23 checks passed
github-actions bot added a commit that referenced this pull request Jul 6, 2024
@Absolucy Absolucy deleted the chsam branch July 6, 2024 09:32
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.

7 participants