fix(Core/Spells): Fixed displaying runes cooldowns. (#11250)
Fixes #11186
This commit is contained in:
@@ -4474,11 +4474,23 @@ void Spell::SendSpellStart()
|
|||||||
if (m_spellInfo->HasAttribute(SPELL_ATTR0_USES_RANGED_SLOT) || m_spellInfo->HasAttribute(SPELL_ATTR0_CU_NEEDS_AMMO_DATA))
|
if (m_spellInfo->HasAttribute(SPELL_ATTR0_USES_RANGED_SLOT) || m_spellInfo->HasAttribute(SPELL_ATTR0_CU_NEEDS_AMMO_DATA))
|
||||||
castFlags |= CAST_FLAG_PROJECTILE;
|
castFlags |= CAST_FLAG_PROJECTILE;
|
||||||
|
|
||||||
if ((m_caster->GetTypeId() == TYPEID_PLAYER || (m_caster->GetTypeId() == TYPEID_UNIT && m_caster->IsPet()))
|
if (m_caster->GetTypeId() == TYPEID_PLAYER || m_caster->IsPet())
|
||||||
&& m_spellInfo->PowerType != POWER_HEALTH && m_powerCost != 0)
|
{
|
||||||
|
switch (m_spellInfo->PowerType)
|
||||||
|
{
|
||||||
|
case POWER_HEALTH:
|
||||||
|
break;
|
||||||
|
case POWER_RUNE:
|
||||||
|
castFlags |= CAST_FLAG_POWER_LEFT_SELF;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (m_powerCost != 0)
|
||||||
{
|
{
|
||||||
castFlags |= CAST_FLAG_POWER_LEFT_SELF;
|
castFlags |= CAST_FLAG_POWER_LEFT_SELF;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (m_spellInfo->RuneCostID && m_spellInfo->PowerType == POWER_RUNE)
|
if (m_spellInfo->RuneCostID && m_spellInfo->PowerType == POWER_RUNE)
|
||||||
castFlags |= CAST_FLAG_NO_GCD; // not needed, but Blizzard sends it
|
castFlags |= CAST_FLAG_NO_GCD; // not needed, but Blizzard sends it
|
||||||
@@ -4532,11 +4544,24 @@ void Spell::SendSpellGo()
|
|||||||
if (m_spellInfo->HasAttribute(SPELL_ATTR0_USES_RANGED_SLOT) || m_spellInfo->HasAttribute(SPELL_ATTR0_CU_NEEDS_AMMO_DATA))
|
if (m_spellInfo->HasAttribute(SPELL_ATTR0_USES_RANGED_SLOT) || m_spellInfo->HasAttribute(SPELL_ATTR0_CU_NEEDS_AMMO_DATA))
|
||||||
castFlags |= CAST_FLAG_PROJECTILE; // arrows/bullets visual
|
castFlags |= CAST_FLAG_PROJECTILE; // arrows/bullets visual
|
||||||
|
|
||||||
if ((m_caster->GetTypeId() == TYPEID_PLAYER || (m_caster->GetTypeId() == TYPEID_UNIT && m_caster->IsPet()))
|
// should only be sent to self, but the current messaging doesn't make that possible
|
||||||
&& m_spellInfo->PowerType != POWER_HEALTH && m_powerCost != 0) // should only be sent to self, but the current messaging doesn't make that possible
|
if (m_caster->GetTypeId() == TYPEID_PLAYER || m_caster->IsPet())
|
||||||
|
{
|
||||||
|
switch (m_spellInfo->PowerType)
|
||||||
|
{
|
||||||
|
case POWER_HEALTH:
|
||||||
|
break;
|
||||||
|
case POWER_RUNE:
|
||||||
|
castFlags |= CAST_FLAG_POWER_LEFT_SELF;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (m_powerCost != 0)
|
||||||
{
|
{
|
||||||
castFlags |= CAST_FLAG_POWER_LEFT_SELF;
|
castFlags |= CAST_FLAG_POWER_LEFT_SELF;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ((m_caster->GetTypeId() == TYPEID_PLAYER)
|
if ((m_caster->GetTypeId() == TYPEID_PLAYER)
|
||||||
&& (m_caster->getClass() == CLASS_DEATH_KNIGHT)
|
&& (m_caster->getClass() == CLASS_DEATH_KNIGHT)
|
||||||
|
|||||||
Reference in New Issue
Block a user