garbagemule / MobArena

MobArena plugin for Minecraft
GNU General Public License v3.0
195 stars 151 forks source link

Animated XP bar #542

Open Fr0sto opened 5 years ago

Fr0sto commented 5 years ago

Feature request

Short description

If "display-waves-as-level" is true for an arena, then the XP bars of players participating in the arena could animate to show when the next wave will start. Basically, at the start of every wave the bar is full (still shows correct wave number as your level count), but drops like a timer down to 0 when the next wave hits, all dependent on how long you've set your waves to be with "wave-interval" in the arena config.

Implementation details

It could be a toggle-able per arena setting, or it could be the default when "display-waves-as-level" is enabled.

This is just something fun I thought of, let me know if I wasn't clear enough in my explanation!

garbagemule commented 5 years ago

Thanks for the suggestion!

It's a fun idea that makes the wave progression seem a little more "alive". However, the clear-*-before-* settings make this feature quite situational. A lot of people use clear-wave-before-next, so "when" the next wave spawns does not really depend on a timer, but on a monster count... kind of. It also depends on a timer, because the wave interval in this setting acts as a "spawn stuff after this time if all mobs are dead, otherwise wait a few seconds and check again".

Can we make this idea more broadly applicable? I'm thinking that especially with the Sessions Rework in mind, encounters become less well-defined, so it would be nice to have ideas as to what different types of counters or conditions the level bar could be used for :)

Fr0sto commented 5 years ago

To be clear, I have "clear-wave-before-next" on false, and solely rely on a 15 second wave interval to progress, and didn't really think about that being an unusual decision. It would be simple to apply my original idea to people who use the clear-wave setup (and not a timer) too, though, by letting the bar's fullness reflect how many monsters are alive. Full bar for the start of the wave, eventually down to half bar when half of the monsters are killed, etc..

I suppose there would need to be two different ways the XP bar animations operated: one based on mob count, assuming the arena was using the clear-wave method and no timer, and the other based on the wave-interval, assuming clear-wave is false and the arena uses a wave-interval timer to move through waves.