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

    Taking the implementation of Unit::IsNonMeleeSpellCasted() from core one seems to work for both player and mob casting, but I'm not sure that is the right thing to do.

    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