[9887] Fix special mounts using in Dalaran

This commit is contained in:
Laise 2010-05-13 14:40:39 +03:00
parent 080727cbfa
commit a002f22916
4 changed files with 11 additions and 6 deletions

View file

@ -20906,11 +20906,16 @@ uint32 Player::CalculateTalentsPoints() const
return uint32(talentPointsForLevel * sWorld.getConfig(CONFIG_FLOAT_RATE_TALENT));
}
bool Player::IsKnowHowFlyIn(uint32 mapid, uint32 zone) const
bool Player::IsKnowHowFlyIn(uint32 mapid) const
{
uint32 zone;
uint32 area;
GetZoneAndAreaId(zone, area);
// continent checked in SpellMgr::GetSpellAllowedInLocationError at cast and area update
uint32 v_map = GetVirtualMapForMapAndZone(mapid, zone);
return v_map != 571 || HasSpell(54197); // Cold Weather Flying
// don't allow flying in Dalaran except Krasus' Landing
return (v_map != 571 || HasSpell(54197)) && (zone != 4395 || area == 4564); // Cold Weather Flying
}
struct DoPlayerLearnSpell