mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 00:48:56 +01:00
*Add new immune type: IMMUNITY_ID. This is usually done using dummy auras.
*Let cloak of shadows immunes to flare. --HG-- branch : trunk
This commit is contained in:
@@ -778,10 +778,11 @@ enum SpellImmunity
|
||||
IMMUNITY_SCHOOL = 2, // enum SpellSchoolMask
|
||||
IMMUNITY_DAMAGE = 3, // enum SpellSchoolMask
|
||||
IMMUNITY_DISPEL = 4, // enum DispelType
|
||||
IMMUNITY_MECHANIC = 5 // enum Mechanics
|
||||
IMMUNITY_MECHANIC = 5, // enum Mechanics
|
||||
IMMUNITY_ID = 6
|
||||
};
|
||||
|
||||
#define MAX_SPELL_IMMUNITY 6
|
||||
#define MAX_SPELL_IMMUNITY 7
|
||||
|
||||
enum Targets
|
||||
{
|
||||
|
||||
@@ -240,7 +240,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
|
||||
&Aura::HandleNULL, //183 SPELL_AURA_MOD_CRITICAL_THREAT
|
||||
&Aura::HandleNoImmediateEffect, //184 SPELL_AURA_MOD_ATTACKER_MELEE_HIT_CHANCE implemented in Unit::RollMeleeOutcomeAgainst
|
||||
&Aura::HandleNoImmediateEffect, //185 SPELL_AURA_MOD_ATTACKER_RANGED_HIT_CHANCE implemented in Unit::RollMeleeOutcomeAgainst
|
||||
&Aura::HandleNoImmediateEffect, //186 SPELL_AURA_MOD_ATTACKER_SPELL_HIT_CHANCE implemented in Unit::MagicSpellHitResult
|
||||
&Aura::HandleModAttackerSpellHitChance, //186 SPELL_AURA_MOD_ATTACKER_SPELL_HIT_CHANCE implemented in Unit::MagicSpellHitResult
|
||||
&Aura::HandleNoImmediateEffect, //187 SPELL_AURA_MOD_ATTACKER_MELEE_CRIT_CHANCE implemented in Unit::GetUnitCriticalChance
|
||||
&Aura::HandleNoImmediateEffect, //188 SPELL_AURA_MOD_ATTACKER_RANGED_CRIT_CHANCE implemented in Unit::GetUnitCriticalChance
|
||||
&Aura::HandleModRating, //189 SPELL_AURA_MOD_RATING
|
||||
@@ -6284,3 +6284,15 @@ void Aura::HandleArenaPreparation(bool apply, bool Real)
|
||||
else
|
||||
m_target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PREPARATION);
|
||||
}
|
||||
|
||||
void Aura::HandleModAttackerSpellHitChance(bool apply, bool Real)
|
||||
{
|
||||
if(!Real)
|
||||
return;
|
||||
|
||||
if(GetId() != 31224)
|
||||
return;
|
||||
|
||||
//cloak of shadows : flare
|
||||
m_target->ApplySpellImmune(31224, IMMUNITY_ID, 1543, apply);
|
||||
}
|
||||
@@ -209,6 +209,7 @@ class TRINITY_DLL_SPEC Aura
|
||||
void HandlePreventFleeing(bool apply, bool Real);
|
||||
void HandleManaShield(bool apply, bool Real);
|
||||
void HandleArenaPreparation(bool apply, bool Real);
|
||||
void HandleModAttackerSpellHitChance(bool apply, bool Real);
|
||||
|
||||
virtual ~Aura();
|
||||
|
||||
|
||||
@@ -9407,6 +9407,15 @@ bool Unit::IsImmunedToSpell(SpellEntry const* spellInfo, bool useCharges)
|
||||
}
|
||||
}
|
||||
|
||||
SpellImmuneList const& idList = m_spellImmune[IMMUNITY_ID];
|
||||
for(SpellImmuneList::const_iterator itr = idList.begin(); itr != idList.end(); ++itr)
|
||||
{
|
||||
if(itr->type == spellInfo->Id)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user