* Rest of the new can fly code removed.
--HG-- branch : trunk
This commit is contained in:
+2
-52
@@ -18753,7 +18753,8 @@ void Player::SetClientControl(Unit* target, uint8 allowMove)
|
|||||||
void Player::UpdateZoneDependentAuras( uint32 newZone )
|
void Player::UpdateZoneDependentAuras( uint32 newZone )
|
||||||
{
|
{
|
||||||
// remove new continent flight forms
|
// remove new continent flight forms
|
||||||
if(!CanFlyInMap(GetVirtualMapForMapAndZone(GetMapId(),newZone)))
|
if( !isGameMaster() &&
|
||||||
|
GetVirtualMapForMapAndZone(GetMapId(),newZone) != 530)
|
||||||
{
|
{
|
||||||
RemoveSpellsCausingAura(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED);
|
RemoveSpellsCausingAura(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED);
|
||||||
RemoveSpellsCausingAura(SPELL_AURA_FLY);
|
RemoveSpellsCausingAura(SPELL_AURA_FLY);
|
||||||
@@ -19219,54 +19220,3 @@ void Player::UpdateCharmedAI()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Player::CanFlyInMap(const uint32 mapID) const
|
|
||||||
{
|
|
||||||
// we return false if the map doesn't even exist
|
|
||||||
MapEntry const *entry = sMapStore.LookupEntry(mapID);
|
|
||||||
if(!entry)
|
|
||||||
{
|
|
||||||
sLog.outDebug("Unknown mapID handed to Player::CanFlyInMap; disallowing flying.");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// GMs can always fly
|
|
||||||
if( isGameMaster() )
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// check whether we can fly here depending on map/config
|
|
||||||
switch(mapID)
|
|
||||||
{
|
|
||||||
// kalimdor/eastern kingdoms
|
|
||||||
case 0:
|
|
||||||
case 1:
|
|
||||||
{
|
|
||||||
return sWorld.getConfig(CONFIG_FLYING_MOUNTS_AZEROTH);
|
|
||||||
}
|
|
||||||
// outland
|
|
||||||
case 530:
|
|
||||||
{
|
|
||||||
return sWorld.getConfig(CONFIG_FLYING_MOUNTS_OUTLAND);
|
|
||||||
}
|
|
||||||
// all other maps
|
|
||||||
default:
|
|
||||||
{
|
|
||||||
return sWorld.getConfig(CONFIG_FLYING_MOUNTS_OTHERS);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// this is just a dummy function that does the same as CanFlyInMap, but based on area ID
|
|
||||||
bool Player::CanFlyInArea(const uint32 areaID) const
|
|
||||||
{
|
|
||||||
// we return false if the area doesn't even exist
|
|
||||||
AreaTableEntry const *entry = sAreaStore.LookupEntry(areaID);
|
|
||||||
if(!entry)
|
|
||||||
{
|
|
||||||
sLog.outDebug("Unknown areaID handed to Player::CanFlyInArea; disallowing flying.");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return CanFlyInMap(entry->mapid);
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -2036,9 +2036,6 @@ class TRINITY_DLL_SPEC Player : public Unit
|
|||||||
uint32 GetOldPetSpell() const { return m_oldpetspell; }
|
uint32 GetOldPetSpell() const { return m_oldpetspell; }
|
||||||
void SetOldPetSpell(uint32 petspell) { m_oldpetspell = petspell; }
|
void SetOldPetSpell(uint32 petspell) { m_oldpetspell = petspell; }
|
||||||
|
|
||||||
// check if player can fly in map/area according to config
|
|
||||||
bool CanFlyInMap(const uint32 mapID) const;
|
|
||||||
bool CanFlyInArea(const uint32 areaID) const;
|
|
||||||
|
|
||||||
/*********************************************************/
|
/*********************************************************/
|
||||||
/*** INSTANCE SYSTEM ***/
|
/*** INSTANCE SYSTEM ***/
|
||||||
|
|||||||
+3
-1
@@ -4172,9 +4172,11 @@ uint8 Spell::CanCast(bool strict)
|
|||||||
case SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED:
|
case SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED:
|
||||||
case SPELL_AURA_FLY:
|
case SPELL_AURA_FLY:
|
||||||
{
|
{
|
||||||
|
// not allow cast fly spells at old maps by players (all spells is self target)
|
||||||
if(m_caster->GetTypeId()==TYPEID_PLAYER)
|
if(m_caster->GetTypeId()==TYPEID_PLAYER)
|
||||||
{
|
{
|
||||||
if(!((Player*)m_caster)->CanFlyInMap(GetVirtualMapForMapAndZone(m_caster->GetMapId(),m_caster->GetZoneId())))
|
if( !((Player*)m_caster)->isGameMaster() &&
|
||||||
|
GetVirtualMapForMapAndZone(m_caster->GetMapId(),m_caster->GetZoneId()) != 530)
|
||||||
return SPELL_FAILED_NOT_HERE;
|
return SPELL_FAILED_NOT_HERE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user