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
[3.3.5 / Ruby Sanctum] Baltharus Warborn cast interrupt by UpdateSplineMovement #18549
Comments
@Keader diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index 8394ca7..f1c49d5 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -1211,7 +1211,7 @@ bool SpellInfo::IsChanneled() const
bool SpellInfo::IsMoveAllowedChannel() const
{
- return IsChanneled() && HasAttribute(SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING);
+ return IsChanneled() && (HasAttribute(SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING) || (ChannelInterruptFlags & (AURA_INTERRUPT_FLAG_MOVE | AURA_INTERRUPT_FLAG_TURNING)));
}
bool SpellInfo::NeedsComboPoints() const |
@xinef1 Tested and does not work for Baltharus |
@Keader Well, spell 76221 has 0x1000101F channelinterruptflags (both AURA_INTERRUPT_FLAG_MOVE and AURA_INTERRUPT_FLAG_TURNING). This means that some movegen allows to move without checking for IsMovementPreventedByCasting I also got this in spellmgr, maybe helpful: // Barrier Channel
case 76221:
spellInfo->ChannelInterruptFlags &= ~(AURA_INTERRUPT_FLAG_TURNING|AURA_INTERRUPT_FLAG_MOVE);
spellInfo->EffectImplicitTargetA[EFFECT_0] = TARGET_UNIT_NEARBY_ENTRY;
break;
|
Current orientation is right. |
Then he needs a hook in spellmgr, you can check yourself that he changes orientation and this causes the channel to interrupt. |
@xinef1 i tested today with #18549 (comment) and still dont work. He still interrupt cast |
@Keader Update his orientation to 4,76864 or remove AURA_INTERRUPT_FLAG_TURNING|AURA_INTERRUPT_FLAG_MOVE from ChannelInterruptFlags |
already changed orientation to 4.76864 and dont work. |
Fuzzy eps is too small to compensate for change from loaded db orientation to GetAngle(target) |
Reopening, turning state doesn't get removed, if I add remove state in Creature::ReleaseFocus, spell is again cancelled. This is not due to eps diff (creature orient is 5.637414, faces 4.76864). |
…ng to face target Closes TrinityCore#18549
partial revert of 6b55fab Simply removing the unit state in Creature::ReleaseFocus causes TrinityCore#18549 again
No longer an issue in 522f537 |
Just for references: 5a2f0ce#diff-4522eeffcbc961602e86620011a2d579 removed fix made by ariel |
…ng to face target Closes TrinityCore#18549 (cherrypicked from 6b55fab) (cherrypicked from c83092a) (cherry picked from commit 6135ee1)
…ng to face target Closes TrinityCore#18549 (cherrypicked from 6b55fab) (cherrypicked from c83092a) (cherry picked from commit 6135ee1)
Description: Cast of spell 76221 (SPELL_BARRIER_CHANNEL) is interrupted by movement
Expected behaviour: Cast of SPELL_BARRIER_CHANNEL should be interrupted only when Baltharus enter combat
Steps to reproduce the problem:
Callstack from Spell::cancel() -> https://gist.github.com/Keader/943ee8c122814a0370c09b2e291e7d91
Looks like similar problem fixed in 90a5811
Branch(es): 3.3.5
TC rev. hash/commit: c809c22
The text was updated successfully, but these errors were encountered: