Stealth auras were removed at end of cast prior to 1.10.

This commit is contained in:
ratkosrb
2018-12-22 12:12:33 +02:00
parent e1a31cbf08
commit 8da06d8a3f
2 changed files with 20 additions and 1 deletions
+12
View File
@@ -107,9 +107,15 @@ void WorldSession::HandleUseItemOpcode(WorldPacket& recvPacket)
}
}
// World of Warcraft Client Patch 1.10.0 (2006-03-28)
// - Stealth and Invisibility effects will now be canceled at the
// beginning of an action(spellcast, ability use etc...), rather than
// at the completion of the action.
#if SUPPORTED_CLIENT_BUILD > CLIENT_BUILD_1_9_4
// Remove invisibility except Gnomish Cloaking Device, since evidence suggests
// it remains until cast finish
_player->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_ON_CAST_SPELL, 4079);
#endif
// check also BIND_WHEN_PICKED_UP and BIND_QUEST_ITEM for .additem or .additemset case by GM (not binded at adding to inventory)
if (pItem->GetProto()->Bonding == BIND_WHEN_USE || pItem->GetProto()->Bonding == BIND_WHEN_PICKED_UP || pItem->GetProto()->Bonding == BIND_QUEST_ITEM)
@@ -314,9 +320,15 @@ void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket)
}
}
// World of Warcraft Client Patch 1.10.0 (2006-03-28)
// - Stealth and Invisibility effects will now be canceled at the
// beginning of an action(spellcast, ability use etc...), rather than
// at the completion of the action.
#if SUPPORTED_CLIENT_BUILD > CLIENT_BUILD_1_9_4
// Remove invisibility except Gnomish Cloaking Device, since evidence suggests
// it remains until cast finish
_player->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_ON_CAST_SPELL, 4079);
#endif
// client provided targets
SpellCastTargets targets;
+8 -1
View File
@@ -3302,8 +3302,15 @@ SpellCastResult Spell::prepare(Aura* triggeredByAura, uint32 chance)
// If timer = 0, it's an instant cast spell and will be casted on the next tick.
// Cast completion will remove all any stealth/invis auras
if (m_timer) {
if (m_timer)
{
// World of Warcraft Client Patch 1.10.0 (2006-03-28)
// - Stealth and Invisibility effects will now be canceled at the
// beginning of an action(spellcast, ability use etc...), rather than
// at the completion of the action.
#if SUPPORTED_CLIENT_BUILD > CLIENT_BUILD_1_9_4
RemoveStealthAuras();
#endif
// If using a game object we need to remove any remaining invis auras. Should only
// ever be Gnomish Cloaking Device, since it's a special case and not removed on