[7006] Implement area limitations for spell 51721 (and auto apply for this in area) and 54055.

This commit is contained in:
VladimirMangos 2009-01-02 19:19:02 +03:00
parent bd4fc1b0ae
commit 4dbb744af4
3 changed files with 25 additions and 10 deletions

View file

@ -18678,16 +18678,28 @@ void Player::UpdateAreaDependentAuras( uint32 newArea )
++iter; ++iter;
} }
// Dragonmaw Illusion // some auras applied at subzone enter
if( newArea == 3759 || newArea == 3966 || newArea == 3939 ) switch(newArea)
{ {
if( GetDummyAura(40214) ) // Dragonmaw Illusion
{ case 3759: // Netherwing Ledge
if( !HasAura(40216,0) ) case 3939: // Dragonmaw Fortress
CastSpell(this,40216,true); case 3966: // Dragonmaw Base Camp
if( !HasAura(42016,0) ) if( GetDummyAura(40214) )
CastSpell(this,42016,true); {
} if( !HasAura(40216,0) )
CastSpell(this,40216,true);
if( !HasAura(42016,0) )
CastSpell(this,42016,true);
}
break;
// Dominion Over Acherus
case 4281: // Acherus: The Ebon Hold
case 4342: // Acherus: The Ebon Hold
if( HasSpell(51721) )
if( !HasAura(51721,0) )
CastSpell(this,51721,true);
break;
} }
} }

View file

@ -2333,6 +2333,9 @@ uint8 GetSpellAllowedInLocationError(SpellEntry const *spellInfo,uint32 map_id,u
case 40216: // Dragonmaw Illusion case 40216: // Dragonmaw Illusion
case 42016: // Dragonmaw Illusion case 42016: // Dragonmaw Illusion
return area_id == 3759 || area_id == 3966 || area_id == 3939 ? 0 : SPELL_FAILED_INCORRECT_AREA; return area_id == 3759 || area_id == 3966 || area_id == 3939 ? 0 : SPELL_FAILED_INCORRECT_AREA;
case 51721: // Dominion Over Acherus
case 54055: // Dominion Over Acherus
return area_id == 4281 || area_id == 4342 ? 0 : SPELL_FAILED_INCORRECT_AREA;
} }
return 0; return 0;

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "7005" #define REVISION_NR "7006"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__