magemonkeystudio / fabled

MIT License
59 stars 37 forks source link

[Enhancement] Shield Mechanic #430

Open TheKot1k opened 1 year ago

TheKot1k commented 1 year ago

Is your feature request related to a problem? Please describe. I need to create a skill that gives the ally target a shield that absorbs a certain amount of damage, and also ends the effect after a certain amount of time. At the moment, creating such shields using ProSkillApi is not possible.

Describe the solution you'd like

Describe alternatives you've considered I thought there was a way to implement this through Vanilla Minecraft's Consume effect, however it's too impractical and unstable.

Additional context A good example of implementing any shield would be skills from League of legends or World of Warcraft. I will be glad to any additions from other users of ProSkillApi. From myself, without this mechanic, I can not imagine any support class on my server. Examples from other games: absorbing shield image

lordsrubka5 commented 1 year ago

Type of damage needs to have a list of minecraft default damage causes as well as skillapi damage classifiers

Shields should have a visual representation of how much shield you actually have. Absorption is highly unreliable for this since its increments are too high and fills up your screen quite a lot. There are not a lot of good options other than giving us placeholders for them but that might be a bit more complex and might just be a whole another feature like giving us ability to turn values into usable placeholders (it parses last known value)

Should have the ability to stack with other shields but each one should dissapear on its own timer and the one that expires sooner is the first one to tank damage

TheKot1k commented 1 year ago

Also, along with the mechanics of absorbing shields, it would be great to see the corresponding conditions, for the presence of a shield, such as damage, etc.

joosii commented 1 year ago

awesome idea

Sentropic commented 9 months ago

Could be done by using the vanilla Aabsorption anyways, but adding mechanics and conditions to handle it more precisely instead of just the Potion Mechanic and Potion Condition. Does that fix your concerns, @lordsrubka5?

Old issue I know, but it was brought up again now 👀

TheKot1k commented 7 months ago

The message wasn't to me, but I'll reply because for several years now I've been just waiting for the shield functionality to be added to ProSkillAPI How do you even imagine a shield realization with already available plugin features? If you try to build a skill that will protect the player for a certain amount of damage, it will be cheap and overloaded. Honestly, I don't even want to remember how some people tried to do it, simply because, there are a lot of things to specify and prescribe for it to work adequately. Everyone would be better off if we just added one mechanic, within which by running through 5 lines we got the mind-blowing result we wanted. And no, vanilla absorb is disgusting.