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

[MIRROR] Explosions Part I - Directional Explosions #2807

Merged
merged 1 commit into from
Apr 10, 2024

Conversation

Steals-The-PRs
Copy link
Collaborator

Mirrored on Nova: NovaSector/NovaSector#1895
Original PR: tgstation/tgstation#82429

About The Pull Request

Adds the ability for explosions to be directional. This is achieved by adding an angle check to prepare_explosion_turfs() to drop any turfs outside the cone of the explosion. If the arc covers a full 360 degrees, as is the default, it will accept all the turfs without performing the angle check.

Uses this functionality to rework both rocket launcher backblast and X4 explosions. Rocket launcher backblast has been changed from a shotgun of indendiary bullets to a directional explosion of similar length. X4 now uses a directional explosion to "ensure user safety".

Apparently the old method of moving the explosion one tile away didn't even work, as it blew up target before trying to check its density for the directional behaviour.

https://youtu.be/Mzdt7d7Le2Y

Why It's Good For The Game

Directional explosions - Useful functionality for a range of potential use cases, which can be implemented with minimal extra processing cost (Worst case scenario being very large directional explosions)

Backblast - Looks way cooler than a bunch of projectiles, and should be significantly more functional in high-lag situations where projectile code tends to get fucky

X4 - More predictable for players wanting to use it as a breaching charge, you can actually stand near the charge and not have to worry about being hoist upon your own petard.

Changelog

🆑 Thunder12345
add: Added support for directional explosions.
add: Rocket launcher backblast is now 271% more explosive, check your six for friendlies!
add: X4 charges now explode in a cone away from the user when placed on a sufficiently solid object.
fix: X4 charges will now behave correctly when placed on dense atoms (note: don't try to read a variable from an atom you just blew up)
/:cl:

* Explosions Part I - Directional Explosions (#82429)

## About The Pull Request

Adds the ability for explosions to be directional. This is achieved by
adding an angle check to `prepare_explosion_turfs()` to drop any turfs
outside the cone of the explosion. If the arc covers a full 360 degrees,
as is the default, it will accept all the turfs without performing the
angle check.

Uses this functionality to rework both rocket launcher backblast and X4
explosions. Rocket launcher backblast has been changed from a shotgun of
indendiary bullets to a directional explosion of similar length. X4 now
uses a directional explosion to "ensure user safety".

Apparently the old method of moving the explosion one tile away didn't
even work, as it blew up `target` before trying to check its density for
the directional behaviour.

https://youtu.be/Mzdt7d7Le2Y

## Why It's Good For The Game

Directional explosions - Useful functionality for a range of potential
use cases, which can be implemented with minimal extra processing cost
(Worst case scenario being very large directional explosions)

Backblast - Looks way cooler than a bunch of projectiles, and should be
significantly more functional in high-lag situations where projectile
code tends to get fucky

X4 - More predictable for players wanting to use it as a breaching
charge, you can actually stand near the charge and not have to worry
about being hoist upon your own petard.

## Changelog
:cl:
add: Added support for directional explosions.
add: Rocket launcher backblast is now 271% more explosive, check your
six for friendlies!
add: X4 charges now explode in a cone away from the user when placed on
a sufficiently solid object.
fix: X4 charges will now behave correctly when placed on dense atoms
(note: don't try to read a variable from an atom you just blew up)
/:cl:

* Explosions Part I - Directional Explosions

---------

Co-authored-by: Thunder12345 <[email protected]>
@ReezeBL ReezeBL merged commit 1e901e9 into master Apr 10, 2024
26 checks passed
@ReezeBL ReezeBL deleted the upstream-mirror-1895 branch April 10, 2024 21:33
AnywayFarus added a commit that referenced this pull request Apr 10, 2024
Iajret pushed a commit that referenced this pull request Jun 2, 2024
* Added the zipzap to the ocean sources (#83645)

## About The Pull Request

In this PR I am just adding the Anxious Zipzap from #83508 to an actual
fishing source, as that was left out of the original PR by mistake. It
compiled properly and loaded as a server.
## Why It's Good For The Game

Adding a way to actually obtain a recently added fish (with the only
other way to interact with the power generation mechanics being an emag)
seems like it would be good overall.
## Changelog
:cl:
fix: Made the anxious zipzap accessible.
/:cl:

* Added the zipzap to the ocean sources

---------

Co-authored-by: jwc1015 <[email protected]>
Co-authored-by: NovaBot13 <[email protected]>
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.

3 participants