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

Fixing some gaps with nested emote chains and EmoteManager.IsBusy #2336

Merged
merged 2 commits into from
Oct 20, 2019

Conversation

gmriggs
Copy link
Collaborator

@gmriggs gmriggs commented Oct 19, 2019

Repro steps:

  1. Start the cow tipping quest by speaking with Dwennon in Holtburg. If you've already completed the cow tipping quest, you can erase it with /qst erase cowtip beforehand.
  2. Level up your cowtipcounter quest to 300 tips. If you need a quick function to do this:
        [CommandHandler("cow", AccessLevel.Developer, CommandHandlerFlag.RequiresWorld)]
        public static void HandleCow(Session session, params string[] parameters)
        {
            for (var i = 0; i < 300; i++)
                session.Player.QuestManager.Stamp("cowtipcounter");
        }
  1. Approach Dwennon, and then repeatedly spam the R key on him

Expected:
The 'award' emote chain only happens once

Actual:
The 'award' emote chain happens multiple times

Resolution:
EmoteManager.Enqueue() was not taking nested emote chains into account properly for setting IsBusy=false. Now the Nested level is tracked properly, and IsBusy is only set to false at the very end of the emote chain.

LtRipley36706
LtRipley36706 previously approved these changes Oct 19, 2019
@gmriggs gmriggs merged commit 0325ee9 into ACEmulator:master Oct 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants