mirror of
https://github.com/liyunfan1223/azerothcore-wotlk.git
synced 2026-08-09 00:08:01 +00:00
chore(Core/Spells): redefine & Define some castFlags (#7724)
This commit is contained in:
@@ -4275,13 +4275,13 @@ void Spell::SendSpellStart()
|
|||||||
|
|
||||||
//LOG_DEBUG("spells.aura", "Sending SMSG_SPELL_START id=%u", m_spellInfo->Id);
|
//LOG_DEBUG("spells.aura", "Sending SMSG_SPELL_START id=%u", m_spellInfo->Id);
|
||||||
|
|
||||||
uint32 castFlags = CAST_FLAG_UNKNOWN_2;
|
uint32 castFlags = CAST_FLAG_HAS_TRAJECTORY;
|
||||||
|
|
||||||
if (((IsTriggered() && !m_spellInfo->IsAutoRepeatRangedSpell()) || m_triggeredByAuraSpell) && !m_spellInfo->IsChanneled())
|
if (((IsTriggered() && !m_spellInfo->IsAutoRepeatRangedSpell()) || m_triggeredByAuraSpell) && !m_spellInfo->IsChanneled())
|
||||||
castFlags |= CAST_FLAG_PENDING;
|
castFlags |= CAST_FLAG_PENDING;
|
||||||
|
|
||||||
if (m_spellInfo->HasAttribute(SPELL_ATTR0_USES_RANGED_SLOT))
|
if (m_spellInfo->HasAttribute(SPELL_ATTR0_USES_RANGED_SLOT))
|
||||||
castFlags |= CAST_FLAG_AMMO;
|
castFlags |= CAST_FLAG_PROJECTILE;
|
||||||
if ((m_caster->GetTypeId() == TYPEID_PLAYER ||
|
if ((m_caster->GetTypeId() == TYPEID_PLAYER ||
|
||||||
(m_caster->GetTypeId() == TYPEID_UNIT && m_caster->IsPet()))
|
(m_caster->GetTypeId() == TYPEID_UNIT && m_caster->IsPet()))
|
||||||
&& m_spellInfo->PowerType != POWER_HEALTH)
|
&& m_spellInfo->PowerType != POWER_HEALTH)
|
||||||
@@ -4307,7 +4307,7 @@ void Spell::SendSpellStart()
|
|||||||
if (castFlags & CAST_FLAG_POWER_LEFT_SELF)
|
if (castFlags & CAST_FLAG_POWER_LEFT_SELF)
|
||||||
data << uint32(m_caster->GetPower((Powers)m_spellInfo->PowerType));
|
data << uint32(m_caster->GetPower((Powers)m_spellInfo->PowerType));
|
||||||
|
|
||||||
if (castFlags & CAST_FLAG_AMMO)
|
if (castFlags & CAST_FLAG_PROJECTILE)
|
||||||
WriteAmmoToPacket(&data);
|
WriteAmmoToPacket(&data);
|
||||||
|
|
||||||
if (castFlags & CAST_FLAG_UNKNOWN_23)
|
if (castFlags & CAST_FLAG_UNKNOWN_23)
|
||||||
@@ -4337,7 +4337,7 @@ void Spell::SendSpellGo()
|
|||||||
castFlags |= CAST_FLAG_PENDING;
|
castFlags |= CAST_FLAG_PENDING;
|
||||||
|
|
||||||
if (m_spellInfo->HasAttribute(SPELL_ATTR0_USES_RANGED_SLOT))
|
if (m_spellInfo->HasAttribute(SPELL_ATTR0_USES_RANGED_SLOT))
|
||||||
castFlags |= CAST_FLAG_AMMO; // arrows/bullets visual
|
castFlags |= CAST_FLAG_PROJECTILE; // arrows/bullets visual
|
||||||
|
|
||||||
if ((m_caster->GetTypeId() == TYPEID_PLAYER ||
|
if ((m_caster->GetTypeId() == TYPEID_PLAYER ||
|
||||||
(m_caster->GetTypeId() == TYPEID_UNIT && m_caster->IsPet()))
|
(m_caster->GetTypeId() == TYPEID_UNIT && m_caster->IsPet()))
|
||||||
@@ -4410,7 +4410,7 @@ void Spell::SendSpellGo()
|
|||||||
data << uint32(m_delayTrajectory ? m_delayTrajectory : m_delayMoment);
|
data << uint32(m_delayTrajectory ? m_delayTrajectory : m_delayMoment);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (castFlags & CAST_FLAG_AMMO)
|
if (castFlags & CAST_FLAG_PROJECTILE)
|
||||||
WriteAmmoToPacket(&data);
|
WriteAmmoToPacket(&data);
|
||||||
|
|
||||||
if (castFlags & CAST_FLAG_VISUAL_CHAIN)
|
if (castFlags & CAST_FLAG_VISUAL_CHAIN)
|
||||||
|
|||||||
@@ -28,11 +28,11 @@ enum SpellCastFlags
|
|||||||
{
|
{
|
||||||
CAST_FLAG_NONE = 0x00000000,
|
CAST_FLAG_NONE = 0x00000000,
|
||||||
CAST_FLAG_PENDING = 0x00000001, // aoe combat log?
|
CAST_FLAG_PENDING = 0x00000001, // aoe combat log?
|
||||||
CAST_FLAG_UNKNOWN_2 = 0x00000002,
|
CAST_FLAG_HAS_TRAJECTORY = 0x00000002,
|
||||||
CAST_FLAG_UNKNOWN_3 = 0x00000004,
|
CAST_FLAG_UNKNOWN_3 = 0x00000004,
|
||||||
CAST_FLAG_UNKNOWN_4 = 0x00000008, // ignore AOE visual
|
CAST_FLAG_UNKNOWN_4 = 0x00000008, // ignore AOE visual
|
||||||
CAST_FLAG_UNKNOWN_5 = 0x00000010,
|
CAST_FLAG_UNKNOWN_5 = 0x00000010,
|
||||||
CAST_FLAG_AMMO = 0x00000020, // Projectiles visual
|
CAST_FLAG_PROJECTILE = 0x00000020, // Projectiles visual
|
||||||
CAST_FLAG_UNKNOWN_7 = 0x00000040,
|
CAST_FLAG_UNKNOWN_7 = 0x00000040,
|
||||||
CAST_FLAG_UNKNOWN_8 = 0x00000080,
|
CAST_FLAG_UNKNOWN_8 = 0x00000080,
|
||||||
CAST_FLAG_UNKNOWN_9 = 0x00000100,
|
CAST_FLAG_UNKNOWN_9 = 0x00000100,
|
||||||
@@ -57,8 +57,8 @@ enum SpellCastFlags
|
|||||||
CAST_FLAG_UNKNOWN_28 = 0x08000000,
|
CAST_FLAG_UNKNOWN_28 = 0x08000000,
|
||||||
CAST_FLAG_UNKNOWN_29 = 0x10000000,
|
CAST_FLAG_UNKNOWN_29 = 0x10000000,
|
||||||
CAST_FLAG_UNKNOWN_30 = 0x20000000,
|
CAST_FLAG_UNKNOWN_30 = 0x20000000,
|
||||||
CAST_FLAG_UNKNOWN_31 = 0x40000000,
|
CAST_FLAG_HEAL_PREDICTION = 0x40000000, //@todo: Unused on TC 3.3.5a. Defined from TC Master.
|
||||||
CAST_FLAG_UNKNOWN_32 = 0x80000000,
|
CAST_FLAG_UNKNOWN_32 = 0x80000000
|
||||||
};
|
};
|
||||||
|
|
||||||
//Spells casted on self should not be diminished.
|
//Spells casted on self should not be diminished.
|
||||||
|
|||||||
Reference in New Issue
Block a user