*Update to Mangos 7195.
--HG-- branch : trunk
This commit is contained in:
+16
-12
@@ -19453,20 +19453,24 @@ void Player::UpdateZoneDependentAuras( uint32 newZone )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Some spells applied at enter into zone (with subzones)
|
// Some spells applied at enter into zone (with subzones)
|
||||||
// Human Illusion
|
switch(newZone)
|
||||||
// NOTE: these are removed by RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_CHANGE_MAP);
|
|
||||||
if ( newZone == 2367 ) // Old Hillsbrad Foothills
|
|
||||||
{
|
{
|
||||||
uint32 spellid = 0;
|
case 2367: // Old Hillsbrad Foothills
|
||||||
// all horde races
|
{
|
||||||
if( GetTeam() == HORDE )
|
// Human Illusion
|
||||||
spellid = getGender() == GENDER_FEMALE ? 35481 : 35480;
|
// NOTE: these are removed by RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_CHANGE_MAP);
|
||||||
// and some alliance races
|
uint32 spellid = 0;
|
||||||
else if( getRace() == RACE_NIGHTELF || getRace() == RACE_DRAENEI )
|
// all horde races
|
||||||
spellid = getGender() == GENDER_FEMALE ? 35483 : 35482;
|
if( GetTeam() == HORDE )
|
||||||
|
spellid = getGender() == GENDER_FEMALE ? 35481 : 35480;
|
||||||
|
// and some alliance races
|
||||||
|
else if( getRace() == RACE_NIGHTELF || getRace() == RACE_DRAENEI )
|
||||||
|
spellid = getGender() == GENDER_FEMALE ? 35483 : 35482;
|
||||||
|
|
||||||
if(spellid && !HasAura(spellid,0) )
|
if(spellid && !HasAura(spellid,0) )
|
||||||
CastSpell(this,spellid,true);
|
CastSpell(this,spellid,true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -305,7 +305,7 @@ enum AuraType
|
|||||||
SPELL_AURA_258 = 258,
|
SPELL_AURA_258 = 258,
|
||||||
SPELL_AURA_259 = 259,
|
SPELL_AURA_259 = 259,
|
||||||
SPELL_AURA_SCREEN_EFFECT = 260,
|
SPELL_AURA_SCREEN_EFFECT = 260,
|
||||||
SPELL_AURA_261 = 261,
|
SPELL_AURA_PHASE = 261,
|
||||||
SPELL_AURA_262 = 262,
|
SPELL_AURA_262 = 262,
|
||||||
SPELL_AURA_ALLOW_ONLY_ABILITY = 263,
|
SPELL_AURA_ALLOW_ONLY_ABILITY = 263,
|
||||||
SPELL_AURA_264 = 264,
|
SPELL_AURA_264 = 264,
|
||||||
|
|||||||
+23
-2
@@ -315,9 +315,9 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
|
|||||||
&Aura::HandleNULL, //258 SPELL_AURA_MOD_SPELL_VISUAL
|
&Aura::HandleNULL, //258 SPELL_AURA_MOD_SPELL_VISUAL
|
||||||
&Aura::HandleNULL, //259 corrupt healing over time spell
|
&Aura::HandleNULL, //259 corrupt healing over time spell
|
||||||
&Aura::HandleNoImmediateEffect, //260 SPELL_AURA_SCREEN_EFFECT (miscvalue = id in ScreenEffect.dbc) not required any code
|
&Aura::HandleNoImmediateEffect, //260 SPELL_AURA_SCREEN_EFFECT (miscvalue = id in ScreenEffect.dbc) not required any code
|
||||||
&Aura::HandleNULL, //261 out of phase?
|
&Aura::HandlePhase, //261 SPELL_AURA_PHASE undetactable invisibility? implemented in Unit::isVisibleForOrDetect
|
||||||
&Aura::HandleNULL, //262
|
&Aura::HandleNULL, //262
|
||||||
&Aura::HandleNULL, //263 SPELL_AURA_ALLOW_ONLY_ABILITY player can use only abilites set in SpellClassMask
|
&Aura::HandleNULL, //263 SPELL_AURA_ALLOW_ONLY_ABILITY player can use only abilities set in SpellClassMask
|
||||||
&Aura::HandleNULL, //264 unused
|
&Aura::HandleNULL, //264 unused
|
||||||
&Aura::HandleNULL, //265 unused
|
&Aura::HandleNULL, //265 unused
|
||||||
&Aura::HandleNULL, //266 unused
|
&Aura::HandleNULL, //266 unused
|
||||||
@@ -6547,3 +6547,24 @@ void Aura::HandleModCharm(bool apply, bool Real)
|
|||||||
else
|
else
|
||||||
m_target->RemoveCharmedOrPossessedBy(caster);
|
m_target->RemoveCharmedOrPossessedBy(caster);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Aura::HandlePhase(bool apply, bool Real)
|
||||||
|
{
|
||||||
|
// no-phase is also phase state so same code for apply and remove
|
||||||
|
|
||||||
|
// phase auras normaly not expected at BG but anyway better check
|
||||||
|
if(Real && m_target->GetTypeId()==TYPEID_PLAYER)
|
||||||
|
{
|
||||||
|
// drop flag at invisible in bg
|
||||||
|
if(((Player*)m_target)->InBattleGround())
|
||||||
|
if(BattleGround *bg = ((Player*)m_target)->GetBattleGround())
|
||||||
|
bg->EventPlayerDroppedFlag((Player*)m_target);
|
||||||
|
}
|
||||||
|
|
||||||
|
// apply/remove only if not in GM invisibility
|
||||||
|
if(m_target->GetVisibility()!=VISIBILITY_OFF)
|
||||||
|
{
|
||||||
|
// just need triggering visibility update base at aura presence
|
||||||
|
m_target->SetVisibility(m_target->GetVisibility());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -211,6 +211,7 @@ class TRINITY_DLL_SPEC Aura
|
|||||||
void HandleAuraIncreaseBaseHealthPercent(bool Apply, bool Real);
|
void HandleAuraIncreaseBaseHealthPercent(bool Apply, bool Real);
|
||||||
void HandleNoReagentUseAura(bool Apply, bool Real);
|
void HandleNoReagentUseAura(bool Apply, bool Real);
|
||||||
void HandleModAttackerSpellHitChance(bool apply, bool Real);
|
void HandleModAttackerSpellHitChance(bool apply, bool Real);
|
||||||
|
void HandlePhase(bool Apply, bool Real);
|
||||||
|
|
||||||
virtual ~Aura();
|
virtual ~Aura();
|
||||||
|
|
||||||
|
|||||||
@@ -2587,6 +2587,10 @@ uint8 GetSpellAllowedInLocationError(SpellEntry const *spellInfo,uint32 map_id,u
|
|||||||
case 51721: // Dominion Over Acherus
|
case 51721: // Dominion Over Acherus
|
||||||
case 54055: // Dominion Over Acherus
|
case 54055: // Dominion Over Acherus
|
||||||
return area_id == 4281 || area_id == 4342 ? 0 : SPELL_FAILED_INCORRECT_AREA;
|
return area_id == 4281 || area_id == 4342 ? 0 : SPELL_FAILED_INCORRECT_AREA;
|
||||||
|
case 51852: // The Eye of Acherus
|
||||||
|
{
|
||||||
|
return map_id == 609 ? 0 : SPELL_FAILED_REQUIRES_AREA;
|
||||||
|
}
|
||||||
case 54119: // Mist of the Kvaldir
|
case 54119: // Mist of the Kvaldir
|
||||||
return area_id == 4028 || area_id == 4029 || area_id == 4106 || area_id == 4031 ? 0 : SPELL_FAILED_INCORRECT_AREA;
|
return area_id == 4028 || area_id == 4029 || area_id == 4106 || area_id == 4031 ? 0 : SPELL_FAILED_INCORRECT_AREA;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "7194"
|
#define REVISION_NR "7195"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|||||||
Reference in New Issue
Block a user