Jump to content
  • Unable to cast next frost bolt while current one is traveling.


    Booji
    • Main Category: Core / Mangos Daemon
      Sub-Category: Combat
      Version: 22.x (Current Master Branch)
      Related to:
     Share

    Core: Zero

    Server Version : 2201075
    Database Version : Rel22.1.9
     

    After you cast a frostbolt, and it is traveling towards the target, you cannot start casting another one until the one traveling hits the target, even though the global cooldown has expired.

    When you try and cast in flight you get the message that another action is in progress.  My limited debugging skills show that it is hitting this condition in Spell::prepare()

     if ( !m_IsTriggeredSpell && m_caster->IsNonMeleeSpellCasted(false, true, true) )
     {
            SendCastResult(SPELL_FAILED_SPELL_IN_PROGRESS);
            finish(false);
            return SPELL_FAILED_SPELL_IN_PROGRESS;
     }

    A suggested fix on discord was to make a change to IsNonMeleeSpellCasted() in Unit.cpp from != to == where it checks the spell state against SPELL_STATE_TRAVELING at line 3748.  While this did allow you to start casting the next frostbolt, while the previous one was in flight, it also made all casting mobs fail to cast anything that was not instant.  The creature mobs would start casting and then restart casting before they actually got their cast off.

     Share


    User Feedback

    Recommended Comments

    I'm just getting setup, and I'm seeing this behavior, as well.

    I see what is linked above, and the other thread covering the same issue, but I'm not clear on what actually I need to do to solve this.

    Could I trouble someone to assist like I'm an idiot who has no idea what I'm doing?

    Thank you, in advance!

    Link to comment
    Share on other sites

    21 hours ago, thelastwizard said:

    I'm just getting setup, and I'm seeing this behavior, as well.

    I see what is linked above, and the other thread covering the same issue, but I'm not clear on what actually I need to do to solve this.

    Could I trouble someone to assist like I'm an idiot who has no idea what I'm doing?

    Thank you, in advance!

    When it comes to git I'm still learning but I think I somehow managed to get the fix. Here's what I did.
    Go to the folder with your server source code and execute these commands:

    git fetch origin pull/161/head:spellchainfix
    
    git checkout spellchainfix

    Then build the server as usual. I just did it and it seems to be working.

     

    Link to comment
    Share on other sites



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use