Any word on bard clickies graying out spellbar?

Discussion in 'Time Locked Progression Servers' started by Badardy, Nov 27, 2021.

  1. Badardy New Member

    I don't know if this is only on TLPs, but bard clicking a clicky still grays out spellbar. /stopsong doesn't usually work. Any word on a fix or a fix in the future? Right not once it happens I have to camp to char select. Thanks.
  2. Trebla7th Elder

    It's not just TLPs. This has been an issue for 15+ years. If you don't /stopsong BEFORE you use a click (non-instant cast) item, you have the potential to lock your songs for up to ~10 seconds.

    In rare cases, it seems to get permanently stuck and require a relog. It seems that's what you're talking about. If you've got a way to reliably reproduce this, that'd be good to know. I was under the impression this was rare when it happened, but sounds like you've got a good way to do it every time?

    Either way, the only workaround is to turn off songs before using click items.

    Though it's been reported before, better to take this to the bug forum. You never know when a new post will suddenly get attention and a decades-old bug will get fixed.
    code-zero likes this.
  3. Froger Journeyman

    im pretty sure it happens when you try to cast a clicky right when next song in melody is trying to start
    HoodenShuklak likes this.
  4. Zapsos Augur

    Just make a hotkey for your clickies including /stopsong

    [IMG]
    code-zero likes this.
  5. Skuz I am become Wrath, the Destroyer of Worlds.

    There was indeed a bug that locked up spell bars but that was fixed.

    Using /stopsong or /stopaction should let you sing again after a cast if you get locked.

    Have not seen my Bard lock up in a few months now.
  6. niente Developer

    If you use a clicky with a cast time while /melody is going it may break /melody or cause you to lock up.

    There are 3 big pieces of spell casting code -
    1. CastSpell - this is when your mana is checked, cast time, some target requirements are made
    2. LaunchSpell - when the spell's cast time has elapsed, check range to target, mana is charged, check if you were interrupted. This is where the game will update your spellbar to not be grayed out, so you can cast a new spell.
    3. HitBySpell - when a target is hit by a spell, take damage, add/remove buffs, etc (this is the largest portion of spell code)

    When you begin casting a spell (or singing a song), if the spell has at least a 0.1 second cast time, the "currently pending" spell is stored on your character. If you use an item clicky with a cast time, it updates the currently pending spell ID. When it's time for the spell to launch, it looks for the pending spell ID on your character to update it. If the spell ID doesn't match (because you changed pending spell IDs before the first spell finished launching), your spellbar will not update to no longer be locked out. Depending on what happens, your spellbar will sit there waiting for the first spell to finish launching and you will be locked out. There are certain ways to get the client to reset your spellbar in this situation (usually clicking and interrupting an AA with a cast time).

    The problem with bards and item clickies is that bard songs are spells, and item clickies are spells, and bards are expected to always be singing. This means we have to interrupt melody to use certain clickies, and interrupting a melody can be inefficient and a DPS loss. The clicky has to be good enough for it to be worth interrupting melody (lots of them aren't, or you have to carefully micromanage when you interrupt and restart the melody). This is why instant clickies are so important for bards. It's not merely convenient, cast times make many clickies undesirable enough to be unusable.

    To fix this we would need to additionally store the currently launching item spell (for bards) so the launch of both spells can be completed. Or, we could prevent launching a new spell if another one hasn't finished (i.e. no clicking items with a > 0.1s cast time while singing).

    Another interesting part of this is those 3 above spell pieces (cast, launch, hit by spell) are the main factors in zone lag. Spells that are instant cast go straight from CastSpell into LaunchSpell. This makes instant spells more performant for the zone itself (and the player). Classes who don't have many instant spells are penalized more in laggy situations.
    Rondor, Sancus, Wulfhere and 7 others like this.
  7. Machen New Member


    Which really just raises the question even more: Why do the bard 1.5 and 2.0 epic clickies have a cast time, if it's better for the bard, the bard's group/raid, and the zone itself to make it instant cast??
    Jyve likes this.
  8. Trebla7th Elder

    This seems like the winning solution to me. If clicking during songs can break the cast bar. Preventing clicking during songs seems like an acceptable fix. Most of the time I remember to stop my melody before clicking, but sometimes (because it automatically restarts if you cancel it at the wrong time) I mess up and click while it's running.

    Alternatively any click with a cast time >= 0.1s could force a stopsong. I think either of those solutions are good, not sure how big a coding issue that is.

    Your whole post was fantastic information, btw, thank you for that insight. It's always nice to have a peek behind the curtains.


    PS: I do love being able to use insta-clicks while singing, and losing that wouldn't be worth the above changes.
    Jyve likes this.
  9. Skuz I am become Wrath, the Destroyer of Worlds.

    Creating macros featuring a /stopsong command at the start for every clicky you may use is the way to go I should think, as laborious as that may be that should prevent lock ups.
    code-zero likes this.
  10. Froger Journeyman

    so just gotta change all bard clicks to 0 cast time?
    Jyve likes this.
  11. HoodenShuklak Augur

    It still happens, as was mentioned if you time a cast right when a melody is finishing, you can bug it out. The only surefire way is to stopsong first but if you hit an instaclicky at like half song's cast time you're always safe too.
  12. theonepercent Augur

    Is there some hidden flag on items that makes clickies behave differently even if they have the same cast time or maybe the cast time shown to the players is rounded somehow?

    For example pre nerf Circlet of Shadows has a 0.1 second cast time but as far as I can tell behaves as if it were instant cast. Whereas Tri-Plated Golden Hackle Hammer has the same 0.1 second cast but behaves like a normal spell, it displays the cast bar, gets interrupted etc.
  13. ForumBoss Augur

    He's right, even with an instant click, such as breath of harmony, you'll bug the gems if you spam it. If you manually click at a certain % through the current song's cast time, it is safe.

    I do hope they make the bard 1.5 and 2.0 instant though, as a nice quality of life improvement - even if it has to be clicked at the right time to not bug out the gems.
    Jyve and HoodenShuklak like this.
  14. Kodachi Elder

    I'm a big fan of the instant cast but timed recast thing cause that prevents spamming and abuse and such... was never sure why most of the 1.5/2.0 clicks weren't instant clicks to begin with.
  15. error Augur

    If they are going to make changes I hope it errors on the side of what's more fun or feels more fluid. Short cast time clickies, like the 0.8s on the bard 2.0, I just can't imagine that's doing much from a game balance perspective. As such, if removing the cast time makes the class's gameplay that much smoother and sidesteps known limitations with the code, that sounds like the thing to do.
  16. Branntick Augur

    Yeah, this seems like a great argument to make all epic 2.0 clicks instant, and also AAs such as Auspice of the Hunter.

    There's really no gameplay reason for them to have a cast time, right? Obviously I wouldn't suggest making such a change to everything, but if it helps make things more performant it seems like a pretty simple change to make.

    I can't really see a situation where 2.0s being instant cast would disrupt game balance in some way.
    Jyve likes this.
  17. HoodenShuklak Augur

    We all know insta clicks are kinda OP. For bards it makes sense just to help lower the bugged out spell bars.... but I'd settle for no bugs.
    Jyve likes this.
  18. Jyve Augur

    We can adapt around instants being clicked between the main melody start/stops, but THE biggest improvement I think we'd get would be the epics and BP's insta cast. They're THE things we click most of the time during other twisting, having those changed would mitigate the problem massively.
    Then... yeah, anything >0.1, innate /stopsong to stop the bug would make sense.