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

Add a Lyra-like Global Ability Subystem #21

Open
LeoFabre opened this issue Mar 9, 2024 · 4 comments
Open

Add a Lyra-like Global Ability Subystem #21

LeoFabre opened this issue Mar 9, 2024 · 4 comments
Labels
enhancement New feature or request

Comments

@LeoFabre
Copy link
Contributor

LeoFabre commented Mar 9, 2024

Lyra has a Global Ability System that keeps track of all ASCs in a level.

It's useful because you can use it to grant/activate abilities and effects to all players at once, for example.

I will need that in my game at some point, so if I end up making it, I'll be happy to contribute it there.

Cheers !

@reznok
Copy link
Owner

reznok commented Mar 9, 2024

I suppose I could see this as a subsystem. I'm having trouble thinking of actual uses for, but also don't have anything against it.

@LeoFabre
Copy link
Contributor Author

LeoFabre commented Mar 9, 2024

Lyra's docs have a few use-case examples :

For example, Lyra's Elimination mode applies a Gameplay Effect (GE_PregameLobby) globally during the warm-up phase of a match. It grants a damage immunity tag to all players and triggers a Gameplay Cue that enables a UI element indicating that the match hasn't started yet.

@Packetdancer Packetdancer added the enhancement New feature or request label Mar 13, 2024
@BeansBeansStudios
Copy link
Contributor

@LeoFabre Looking at the implementation in Lyra, there isn't an actual global ASC, just the subsystem that is responsible for orchestrating abilities and effects on registered ASCs. Have you found that not possible to do with GMAS? I don't know either way yet but i'm curious if you've tried to integrate GMAS component on the GameState or have run into any other problems. I'm still in the process of determining what I can port from Lyra to a new project using GMC + GMAS.

@LeoFabre
Copy link
Contributor Author

LeoFabre commented May 9, 2024

Yes I am talking about a subsystem, not a global ASC.

Also, as said, I am not needing it right now, so IDK if actually possible to do with GMAS but looking at it there should not be any major problems adding this.

If you are talking of the ASC that is used in lyra's gamestate for the Gameplay Phases Abilities, this is a slightly different use case of an ASC than what GMAS was originally made for, but on the top of my head it should be doable.
Alternatively, you could have GMAS for your gameplay abilities, and GAS just for the game state stuff. Though, obviously you will have to replace the uses of GAS functions and GAs and of the global ability subsystem in your phases.

Sorry for the delay, I'm quite busy these days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants