mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 16:37:01 +00:00
[7154] Move allow player fly check to function.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
10468d170d
commit
25b120877e
4 changed files with 13 additions and 5 deletions
|
|
@ -18872,8 +18872,7 @@ void Player::SetClientControl(Unit* target, uint8 allowMove)
|
|||
void Player::UpdateZoneDependentAuras( uint32 newZone )
|
||||
{
|
||||
// remove new continent flight forms
|
||||
uint32 v_map = GetVirtualMapForMapAndZone(GetMapId(), newZone);
|
||||
if( !isGameMaster() && v_map != 530 && v_map != 571)
|
||||
if( !IsAllowUseFlyMountsHere() )
|
||||
{
|
||||
RemoveSpellsCausingAura(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED);
|
||||
RemoveSpellsCausingAura(SPELL_AURA_FLY);
|
||||
|
|
@ -19363,3 +19362,12 @@ uint32 Player::CalculateTalentsPoints() const
|
|||
|
||||
return talentPointsForLevel;
|
||||
}
|
||||
|
||||
bool Player::IsAllowUseFlyMountsHere() const
|
||||
{
|
||||
if (isGameMaster())
|
||||
return true;
|
||||
|
||||
uint32 v_map = GetVirtualMapForMapAndZone(GetMapId(), GetZoneId());
|
||||
return v_map == 530 || v_map == 571 && HasSpell(54197);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2051,6 +2051,7 @@ class MANGOS_DLL_SPEC Player : public Unit
|
|||
|
||||
bool CanFly() const { return HasUnitMovementFlag(MOVEMENTFLAG_CAN_FLY); }
|
||||
bool IsFlying() const { return HasUnitMovementFlag(MOVEMENTFLAG_FLYING); }
|
||||
bool IsAllowUseFlyMountsHere() const;
|
||||
|
||||
void HandleDrowning();
|
||||
|
||||
|
|
|
|||
|
|
@ -4418,8 +4418,7 @@ uint8 Spell::CanCast(bool strict)
|
|||
// not allow cast fly spells at old maps by players (all spells is self target)
|
||||
if(m_caster->GetTypeId()==TYPEID_PLAYER)
|
||||
{
|
||||
uint32 v_map = GetVirtualMapForMapAndZone(m_caster->GetMapId(), m_caster->GetZoneId());
|
||||
if( !((Player*)m_caster)->isGameMaster() && v_map != 530 && !(v_map == 571 && ((Player*)m_caster)->HasSpell(54197)))
|
||||
if( !((Player*)m_caster)->IsAllowUseFlyMountsHere() )
|
||||
return SPELL_FAILED_NOT_HERE;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "7153"
|
||||
#define REVISION_NR "7154"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue