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

Harpy Flight System #919

Merged
merged 6 commits into from
Sep 16, 2024
Merged

Harpy Flight System #919

merged 6 commits into from
Sep 16, 2024

Conversation

gluesniffler
Copy link
Contributor

@gluesniffler gluesniffler commented Sep 14, 2024

Description

This PR adds a generic system which gives an entity the ability to fly. Optionally increasing their speed in exchange for a continuous stamina drain, which can, and will stamcrit them if left unchecked.


Technical Details?

We normally dont have this section but I'd like to outline the changes since I messed with quite a few systems:

  • Introduces a FlightComponent which can be added to any entity in YML, needs to be tied to an action with an event of type ToggleFlightEvent This component holds properties for:
    • Toggling animations on and off, either at the entity level or the layer level.
    • Altering shader animation properties
    • Altering speed, stamina drain, sounds played, delay between sounds, etc etc.
  • Adds a FlyingVisualizerSystem that can take a given AnimationKey which points to a shader, and optionally can apply it to either the entire sprite, or a given layer.
  • Adds a check in SharedGravitySystem for making the entity weightless when it has the FlightComponent and is flying.
  • Adds a check in SharedCuffableSystem to disable cuffing when the target has the FlightComponent and is flying.
  • Introduces a new field in the StaminaComponent which serves as a dictionary for persistent drains, with the key being the source (UID) of where it came from. The drains can also indicate if they should apply the stamina slowdown or not (relevant for both this PR, and for an eventual sprinting PR)

Media

Flight Demo


Changelog

🆑 Mocho

  • add: Harpies are now able to fly on station for limited periods of time, moving faster at the cost of stamina.

@github-actions github-actions bot added Changes: Audio Changes any ogg files Changes: C# Changes any cs files Changes: Localization Changes any ftl files Changes: Sprite Changes any png or json in an RSI Changes: YML Changes any yml files labels Sep 14, 2024
Copy link
Contributor

github-actions bot commented Sep 14, 2024

RSI Diff Bot; head commit cfa9bc5 merging into 8824b51
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Interface/Actions/flight.rsi

State Old New Status
flight_off Added
flight_on Added

Edit: diff updated after cfa9bc5

@v0idRift
Copy link
Contributor

Love this! Excited to see how this enhances gameplay! Birb

Content.Client/Flight/Components/FlightVisualsComponent.cs Outdated Show resolved Hide resolved
Content.Client/Flight/FlightSystem.cs Outdated Show resolved Hide resolved
Content.Client/Flight/FlightSystem.cs Outdated Show resolved Hide resolved
Content.Client/Flight/FlightSystem.cs Show resolved Hide resolved
Content.Client/Flight/FlightSystem.cs Outdated Show resolved Hide resolved
Content.Shared/Flight/FlightComponent.cs Outdated Show resolved Hide resolved
Content.Shared/Flight/SharedFlightSystem.cs Outdated Show resolved Hide resolved
Content.Shared/Flight/SharedFlightSystem.cs Outdated Show resolved Hide resolved
Content.Shared/Gravity/SharedFloatingVisualizerSystem.cs Outdated Show resolved Hide resolved
Resources/Locale/en-US/flight/flight_system.ftl Outdated Show resolved Hide resolved
@github-actions github-actions bot added the Status: Needs Review Someone please review this label Sep 14, 2024
@VMSolidus VMSolidus merged commit 82deba4 into Simple-Station:master Sep 16, 2024
14 checks passed
SimpleStation14 added a commit that referenced this pull request Sep 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: Audio Changes any ogg files Changes: C# Changes any cs files Changes: Localization Changes any ftl files Changes: Sprite Changes any png or json in an RSI Changes: YML Changes any yml files Status: Needs Review Someone please review this
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants