diff options
| author | ccrs <ccrs@users.noreply.github.com> | 2019-07-13 17:57:07 +0200 |
|---|---|---|
| committer | ccrs <ccrs@users.noreply.github.com> | 2019-07-13 17:57:07 +0200 |
| commit | d1dc0e2dc1fbd692eeda90ae2ab82ae07e2cae0e (patch) | |
| tree | b7b8fa8e078c95eb94f97f1435024014e6be0028 /src/server/game/Spells/Spell.cpp | |
| parent | 8c16f318fe072709fc40c61987570dba8f5b6483 (diff) | |
Scripts/DK: correctly handle Blood Tap
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
| -rw-r--r-- | src/server/game/Spells/Spell.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index f9edb30ec30..60e3cb3808f 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4160,7 +4160,7 @@ void Spell::SendSpellGo() castFlags |= CAST_FLAG_PENDING; if (m_spellInfo->HasAttribute(SPELL_ATTR0_REQ_AMMO) || m_spellInfo->HasAttribute(SPELL_ATTR0_CU_NEEDS_AMMO_DATA)) - castFlags |= CAST_FLAG_AMMO; // arrows/bullets visual + castFlags |= CAST_FLAG_AMMO; // arrows/bullets visual if ((m_caster->GetTypeId() == TYPEID_PLAYER || (m_caster->GetTypeId() == TYPEID_UNIT && m_caster->ToCreature()->IsPet())) @@ -4173,12 +4173,12 @@ void Spell::SendSpellGo() && m_spellInfo->PowerType == POWER_RUNE && !(_triggeredCastFlags & TRIGGERED_IGNORE_POWER_AND_REAGENT_COST)) { - castFlags |= CAST_FLAG_NO_GCD; // not needed, but Blizzard sends it - castFlags |= CAST_FLAG_RUNE_LIST; // rune cooldowns list + castFlags |= CAST_FLAG_NO_GCD; // not needed, but Blizzard sends it + castFlags |= CAST_FLAG_RUNE_LIST; // rune cooldowns list } if (m_spellInfo->HasEffect(SPELL_EFFECT_ACTIVATE_RUNE)) - castFlags |= CAST_FLAG_RUNE_LIST; // rune cooldowns list + castFlags |= CAST_FLAG_RUNE_LIST; // rune cooldowns list if (m_targets.HasTraj()) castFlags |= CAST_FLAG_ADJUST_MISSILE; @@ -4207,12 +4207,12 @@ void Spell::SendSpellGo() if (castFlags & CAST_FLAG_POWER_LEFT_SELF) castData.RemainingPower = ASSERT_NOTNULL(m_caster->ToUnit())->GetPower(m_spellInfo->PowerType); - if (castFlags & CAST_FLAG_RUNE_LIST) // rune cooldowns list + if (castFlags & CAST_FLAG_RUNE_LIST && !m_spellInfo->HasAura(SPELL_AURA_CONVERT_RUNE)) // rune cooldowns list { castData.RemainingRunes = boost::in_place(); /// @todo There is a crash caused by a spell with CAST_FLAG_RUNE_LIST cast by a creature - //The creature is the mover of a player, so HandleCastSpellOpcode uses it as the caster + // The creature is the mover of a player, so HandleCastSpellOpcode uses it as the caster if (Player* player = m_caster->ToPlayer()) { uint8 runeMaskInitial = m_runesState; |
