mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 10:37:02 +00:00
Implement 275 SPELL_AURA_MOD_IGNORE_SHAPESHIFT
Signed-off-by: DiSlord <dislord@nomail.com>
This commit is contained in:
parent
3604f3fa1f
commit
2c1f19d997
3 changed files with 21 additions and 8 deletions
|
|
@ -3385,12 +3385,25 @@ uint8 Spell::CanCast(bool strict)
|
||||||
// for now, ignore triggered spells
|
// for now, ignore triggered spells
|
||||||
if( strict && !m_IsTriggeredSpell)
|
if( strict && !m_IsTriggeredSpell)
|
||||||
{
|
{
|
||||||
// Cannot be used in this stance/form
|
bool checkForm = true;
|
||||||
if(uint8 shapeError = GetErrorAtShapeshiftedCast(m_spellInfo, m_caster->m_form))
|
// Ignore form req aura
|
||||||
return shapeError;
|
Unit::AuraList const& ignore = m_caster->GetAurasByType(SPELL_AURA_MOD_IGNORE_SHAPESHIFT);
|
||||||
|
for(Unit::AuraList::const_iterator i = ignore.begin(); i != ignore.end(); ++i)
|
||||||
|
{
|
||||||
|
if (!(*i)->isAffectedOnSpell(m_spellInfo))
|
||||||
|
continue;
|
||||||
|
checkForm = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (checkForm)
|
||||||
|
{
|
||||||
|
// Cannot be used in this stance/form
|
||||||
|
if(uint8 shapeError = GetErrorAtShapeshiftedCast(m_spellInfo, m_caster->m_form))
|
||||||
|
return shapeError;
|
||||||
|
|
||||||
if ((m_spellInfo->Attributes & SPELL_ATTR_ONLY_STEALTHED) && !(m_caster->HasStealthAura()))
|
if ((m_spellInfo->Attributes & SPELL_ATTR_ONLY_STEALTHED) && !(m_caster->HasStealthAura()))
|
||||||
return SPELL_FAILED_ONLY_STEALTHED;
|
return SPELL_FAILED_ONLY_STEALTHED;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// caster state requirements
|
// caster state requirements
|
||||||
|
|
|
||||||
|
|
@ -317,7 +317,7 @@ enum AuraType
|
||||||
SPELL_AURA_272 = 272,
|
SPELL_AURA_272 = 272,
|
||||||
SPELL_AURA_273 = 273,
|
SPELL_AURA_273 = 273,
|
||||||
SPELL_AURA_274 = 274,
|
SPELL_AURA_274 = 274,
|
||||||
SPELL_AURA_275 = 275,
|
SPELL_AURA_MOD_IGNORE_SHAPESHIFT = 275,
|
||||||
SPELL_AURA_276 = 276, // Only "Test Mod Damage % Mechanic" spell, possible mod damage done
|
SPELL_AURA_276 = 276, // Only "Test Mod Damage % Mechanic" spell, possible mod damage done
|
||||||
SPELL_AURA_277 = 277,
|
SPELL_AURA_277 = 277,
|
||||||
SPELL_AURA_MOD_DISARM_RANGED = 278,
|
SPELL_AURA_MOD_DISARM_RANGED = 278,
|
||||||
|
|
|
||||||
|
|
@ -296,7 +296,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
|
||||||
&Aura::HandleUnused, //243 used by two test spells
|
&Aura::HandleUnused, //243 used by two test spells
|
||||||
&Aura::HandleComprehendLanguage, //244 Comprehend language
|
&Aura::HandleComprehendLanguage, //244 Comprehend language
|
||||||
&Aura::HandleUnused, //245 SPELL_AURA_MOD_DURATION_OF_MAGIC_EFFECTS
|
&Aura::HandleUnused, //245 SPELL_AURA_MOD_DURATION_OF_MAGIC_EFFECTS
|
||||||
&Aura::HandleUnused, //246 SPELL_AURA_MOD_DURATION_OF_EFFECTS_BY_DISPEL
|
&Aura::HandleNoImmediateEffect, //246 SPELL_AURA_MOD_DURATION_OF_EFFECTS_BY_DISPEL
|
||||||
&Aura::HandleUnused, //247 unused
|
&Aura::HandleUnused, //247 unused
|
||||||
&Aura::HandleNoImmediateEffect, //248 SPELL_AURA_MOD_COMBAT_RESULT_CHANCE implemented in Unit::RollMeleeOutcomeAgainst
|
&Aura::HandleNoImmediateEffect, //248 SPELL_AURA_MOD_COMBAT_RESULT_CHANCE implemented in Unit::RollMeleeOutcomeAgainst
|
||||||
&Aura::HandleAuraConvertRune, //249 SPELL_AURA_CONVERT_RUNE
|
&Aura::HandleAuraConvertRune, //249 SPELL_AURA_CONVERT_RUNE
|
||||||
|
|
@ -325,7 +325,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
|
||||||
&Aura::HandleNULL, //272 reduce spell cast time?
|
&Aura::HandleNULL, //272 reduce spell cast time?
|
||||||
&Aura::HandleNULL, //273
|
&Aura::HandleNULL, //273
|
||||||
&Aura::HandleNULL, //274 proc free shot?
|
&Aura::HandleNULL, //274 proc free shot?
|
||||||
&Aura::HandleNULL, //275 ignore shapeshift Use SpellClassMask for spell select
|
&Aura::HandleNoImmediateEffect, //275 SPELL_AURA_MOD_IGNORE_SHAPESHIFT Use SpellClassMask for spell select
|
||||||
&Aura::HandleNULL, //276 mod damage % mechanic?
|
&Aura::HandleNULL, //276 mod damage % mechanic?
|
||||||
&Aura::HandleNULL, //277 increase max targets? Use SpellClassMask for spell select
|
&Aura::HandleNULL, //277 increase max targets? Use SpellClassMask for spell select
|
||||||
&Aura::HandleNULL, //278 SPELL_AURA_MOD_DISARM_RANGED disarm ranged weapon
|
&Aura::HandleNULL, //278 SPELL_AURA_MOD_DISARM_RANGED disarm ranged weapon
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue