diff --git a/src/game/AggressorAI.cpp b/src/game/AggressorAI.cpp index 2cb76068e..8978436ce 100644 --- a/src/game/AggressorAI.cpp +++ b/src/game/AggressorAI.cpp @@ -92,7 +92,7 @@ void AggressorAI::EnterEvadeMode() { DEBUG_FILTER_LOG(LOG_FILTER_AI_AND_MOVEGENSS, "Creature stopped attacking, victim is in stealth [guid=%u]", m_creature->GetGUIDLow()); } - else if (victim->isInFlight()) + else if (victim->IsTaxiFlying()) { DEBUG_FILTER_LOG(LOG_FILTER_AI_AND_MOVEGENSS, "Creature stopped attacking, victim is in flight [guid=%u]", m_creature->GetGUIDLow()); } diff --git a/src/game/BattleGroundHandler.cpp b/src/game/BattleGroundHandler.cpp index 0be0c9681..3d43158dd 100644 --- a/src/game/BattleGroundHandler.cpp +++ b/src/game/BattleGroundHandler.cpp @@ -415,7 +415,7 @@ void WorldSession::HandleBattleFieldPortOpcode( WorldPacket &recv_data ) _player->SpawnCorpseBones(); } // stop taxi flight at port - if (_player->isInFlight()) + if (_player->IsTaxiFlying()) { _player->GetMotionMaster()->MovementExpired(); _player->m_taxi.ClearTaxiDestinations(); diff --git a/src/game/DestinationHolderImp.h b/src/game/DestinationHolderImp.h index 32ca246b4..31d9da745 100644 --- a/src/game/DestinationHolderImp.h +++ b/src/game/DestinationHolderImp.h @@ -128,11 +128,11 @@ DestinationHolder::UpdateTraveller(TRAVELLER &traveller, uint32 diff, ResetUpdate(); if (!i_destSet) return true; - if (!traveller.GetTraveller().hasUnitState(UNIT_STAT_MOVING | UNIT_STAT_IN_FLIGHT)) + if (!traveller.GetTraveller().hasUnitState(UNIT_STAT_MOVING | UNIT_STAT_TAXI_FLIGHT)) return true; float x,y,z; - if (traveller.GetTraveller().hasUnitState(UNIT_STAT_IN_FLIGHT)) + if (traveller.GetTraveller().hasUnitState(UNIT_STAT_TAXI_FLIGHT)) GetLocationNow(traveller.GetTraveller().GetBaseMap() ,x, y, z, true); // Should reposition Object with right Coord, so I can bypass some Grid Relocation else GetLocationNow(traveller.GetTraveller().GetBaseMap(), x, y, z, false); diff --git a/src/game/GridNotifiers.h b/src/game/GridNotifiers.h index d2449085f..8696051e8 100644 --- a/src/game/GridNotifiers.h +++ b/src/game/GridNotifiers.h @@ -506,7 +506,7 @@ namespace MaNGOS bool operator()(Creature* u) { if (i_fobj->isHonorOrXPTarget(u) || - u->getDeathState() != CORPSE || u->isDeadByDefault() || u->isInFlight() || + u->getDeathState() != CORPSE || u->isDeadByDefault() || u->IsTaxiFlying() || ( u->GetCreatureTypeMask() & (1 << (CREATURE_TYPE_HUMANOID-1)) )==0 || (u->GetDisplayId() != u->GetNativeDisplayId())) return false; @@ -525,7 +525,7 @@ namespace MaNGOS ExplodeCorpseObjectCheck(WorldObject const* fobj, float range) : i_fobj(fobj), i_range(range) {} bool operator()(Player* u) { - if (u->getDeathState()!=CORPSE || u->isInFlight() || + if (u->getDeathState()!=CORPSE || u->IsTaxiFlying() || u->HasAuraType(SPELL_AURA_GHOST) || (u->GetDisplayId() != u->GetNativeDisplayId())) return false; @@ -533,7 +533,7 @@ namespace MaNGOS } bool operator()(Creature* u) { - if (u->getDeathState()!=CORPSE || u->isInFlight() || u->isDeadByDefault() || + if (u->getDeathState()!=CORPSE || u->IsTaxiFlying() || u->isDeadByDefault() || (u->GetDisplayId() != u->GetNativeDisplayId()) || (u->GetCreatureTypeMask() & CREATURE_TYPEMASK_MECHANICAL_OR_ELEMENTAL)!=0) return false; @@ -552,7 +552,7 @@ namespace MaNGOS CannibalizeObjectCheck(WorldObject const* fobj, float range) : i_fobj(fobj), i_range(range) {} bool operator()(Player* u) { - if( i_fobj->IsFriendlyTo(u) || u->isAlive() || u->isInFlight() ) + if( i_fobj->IsFriendlyTo(u) || u->isAlive() || u->IsTaxiFlying() ) return false; return i_fobj->IsWithinDistInMap(u, i_range); @@ -560,7 +560,7 @@ namespace MaNGOS bool operator()(Corpse* u); bool operator()(Creature* u) { - if (i_fobj->IsFriendlyTo(u) || u->isAlive() || u->isInFlight() || + if (i_fobj->IsFriendlyTo(u) || u->isAlive() || u->IsTaxiFlying() || (u->GetCreatureTypeMask() & CREATURE_TYPEMASK_HUMANOID_OR_UNDEAD)==0) return false; diff --git a/src/game/GridNotifiersImpl.h b/src/game/GridNotifiersImpl.h index a3440cdb3..2b4df9849 100644 --- a/src/game/GridNotifiersImpl.h +++ b/src/game/GridNotifiersImpl.h @@ -91,7 +91,7 @@ inline void CreatureCreatureRelocationWorker(Creature* c1, Creature* c2) inline void MaNGOS::PlayerRelocationNotifier::Visit(CreatureMapType &m) { - if (!i_player.isAlive() || i_player.isInFlight()) + if (!i_player.isAlive() || i_player.IsTaxiFlying()) return; WorldObject const* viewPoint = i_player.GetCamera().GetBody(); @@ -109,7 +109,7 @@ inline void MaNGOS::CreatureRelocationNotifier::Visit(PlayerMapType &m) for(PlayerMapType::iterator iter=m.begin(); iter != m.end(); ++iter) if (Player* player = iter->getSource()) - if (player->isAlive() && !player->isInFlight()) + if (player->isAlive() && !player->IsTaxiFlying()) PlayerCreatureRelocationWorker(player, player->GetCamera().GetBody(), &i_creature); } @@ -129,7 +129,7 @@ inline void MaNGOS::CreatureRelocationNotifier::Visit(CreatureMapType &m) inline void MaNGOS::DynamicObjectUpdater::VisitHelper(Unit* target) { - if (!target->isAlive() || target->isInFlight() ) + if (!target->isAlive() || target->IsTaxiFlying() ) return; if (target->GetTypeId() == TYPEID_UNIT && ((Creature*)target)->isTotem()) diff --git a/src/game/GuardAI.cpp b/src/game/GuardAI.cpp index ba08c7ddf..731509799 100644 --- a/src/game/GuardAI.cpp +++ b/src/game/GuardAI.cpp @@ -85,7 +85,7 @@ void GuardAI::EnterEvadeMode() { DEBUG_FILTER_LOG(LOG_FILTER_AI_AND_MOVEGENSS, "Creature stopped attacking, victim is in stealth [guid=%u]", m_creature->GetGUIDLow()); } - else if (victim->isInFlight()) + else if (victim->IsTaxiFlying()) { DEBUG_FILTER_LOG(LOG_FILTER_AI_AND_MOVEGENSS, "Creature stopped attacking, victim is in flight [guid=%u]", m_creature->GetGUIDLow()); } diff --git a/src/game/Level0.cpp b/src/game/Level0.cpp index b0bda54f5..e36c147b8 100644 --- a/src/game/Level0.cpp +++ b/src/game/Level0.cpp @@ -64,7 +64,7 @@ bool ChatHandler::HandleStartCommand(const char* /*args*/) { Player *chr = m_session->GetPlayer(); - if(chr->isInFlight()) + if(chr->IsTaxiFlying()) { SendSysMessage(LANG_YOU_IN_FLIGHT); SetSentErrorMessage(true); @@ -117,7 +117,7 @@ bool ChatHandler::HandleDismountCommand(const char* /*args*/) return false; } - if(m_session->GetPlayer( )->isInFlight()) + if(m_session->GetPlayer( )->IsTaxiFlying()) { SendSysMessage(LANG_YOU_IN_FLIGHT); SetSentErrorMessage(true); diff --git a/src/game/Level1.cpp b/src/game/Level1.cpp index 1bc3c78ed..725c237a5 100644 --- a/src/game/Level1.cpp +++ b/src/game/Level1.cpp @@ -438,7 +438,7 @@ bool ChatHandler::HandleNamegoCommand(const char* args) ChatHandler(target).PSendSysMessage(LANG_SUMMONED_BY, playerLink(_player->GetName()).c_str()); // stop flight if need - if (target->isInFlight()) + if (target->IsTaxiFlying()) { target->GetMotionMaster()->MovementExpired(); target->m_taxi.ClearTaxiDestinations(); @@ -576,7 +576,7 @@ bool ChatHandler::HandleGonameCommand(const char* args) ChatHandler(target).PSendSysMessage(LANG_APPEARING_TO, GetNameLink().c_str()); // stop flight if need - if (_player->isInFlight()) + if (_player->IsTaxiFlying()) { _player->GetMotionMaster()->MovementExpired(); _player->m_taxi.ClearTaxiDestinations(); @@ -1121,7 +1121,7 @@ bool ChatHandler::HandleModifyASpeedCommand(const char* args) std::string chrNameLink = GetNameLink(chr); - if(chr->isInFlight()) + if(chr->IsTaxiFlying()) { PSendSysMessage(LANG_CHAR_IN_FLIGHT,chrNameLink.c_str()); SetSentErrorMessage(true); @@ -1169,7 +1169,7 @@ bool ChatHandler::HandleModifySpeedCommand(const char* args) std::string chrNameLink = GetNameLink(chr); - if(chr->isInFlight()) + if(chr->IsTaxiFlying()) { PSendSysMessage(LANG_CHAR_IN_FLIGHT,chrNameLink.c_str()); SetSentErrorMessage(true); @@ -1214,7 +1214,7 @@ bool ChatHandler::HandleModifySwimCommand(const char* args) std::string chrNameLink = GetNameLink(chr); - if(chr->isInFlight()) + if(chr->IsTaxiFlying()) { PSendSysMessage(LANG_CHAR_IN_FLIGHT,chrNameLink.c_str()); SetSentErrorMessage(true); @@ -1259,7 +1259,7 @@ bool ChatHandler::HandleModifyBWalkCommand(const char* args) std::string chrNameLink = GetNameLink(chr); - if(chr->isInFlight()) + if(chr->IsTaxiFlying()) { PSendSysMessage(LANG_CHAR_IN_FLIGHT,chrNameLink.c_str()); SetSentErrorMessage(true); @@ -2089,7 +2089,7 @@ bool ChatHandler::HandleTeleGroupCommand(const char * args) ChatHandler(pl).PSendSysMessage(LANG_TELEPORTED_TO_BY, nameLink.c_str()); // stop flight if need - if(pl->isInFlight()) + if(pl->IsTaxiFlying()) { pl->GetMotionMaster()->MovementExpired(); pl->m_taxi.ClearTaxiDestinations(); @@ -2178,7 +2178,7 @@ bool ChatHandler::HandleGroupgoCommand(const char* args) ChatHandler(pl).PSendSysMessage(LANG_SUMMONED_BY, nameLink.c_str()); // stop flight if need - if(pl->isInFlight()) + if(pl->IsTaxiFlying()) { pl->GetMotionMaster()->MovementExpired(); pl->m_taxi.ClearTaxiDestinations(); @@ -2231,7 +2231,7 @@ bool ChatHandler::HandleGoHelper( Player* player, uint32 mapid, float x, float y } // stop flight if need - if(player->isInFlight()) + if(player->IsTaxiFlying()) { player->GetMotionMaster()->MovementExpired(); player->m_taxi.ClearTaxiDestinations(); diff --git a/src/game/Map.cpp b/src/game/Map.cpp index 8147bad21..decc5bc0f 100644 --- a/src/game/Map.cpp +++ b/src/game/Map.cpp @@ -752,7 +752,7 @@ Map::PlayerRelocation(Player *player, float x, float y, float z, float orientati DEBUG_FILTER_LOG(LOG_FILTER_PLAYER_MOVES, "Player %s relocation grid[%u,%u]cell[%u,%u]->grid[%u,%u]cell[%u,%u]", player->GetName(), old_cell.GridX(), old_cell.GridY(), old_cell.CellX(), old_cell.CellY(), new_cell.GridX(), new_cell.GridY(), new_cell.CellX(), new_cell.CellY()); // update player position for group at taxi flight - if(player->GetGroup() && player->isInFlight()) + if(player->GetGroup() && player->IsTaxiFlying()) player->SetGroupUpdateFlag(GROUP_UPDATE_FLAG_POSITION); NGridType* oldGrid = getNGrid(old_cell.GridX(), old_cell.GridY()); diff --git a/src/game/MiscHandler.cpp b/src/game/MiscHandler.cpp index b4ddc71af..6e4f43c07 100644 --- a/src/game/MiscHandler.cpp +++ b/src/game/MiscHandler.cpp @@ -279,7 +279,7 @@ void WorldSession::HandleLogoutRequestOpcode( WorldPacket & /*recv_data*/ ) } //instant logout in taverns/cities or on taxi or for admins, gm's, mod's if its enabled in mangosd.conf - if (GetPlayer()->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_RESTING) || GetPlayer()->isInFlight() || + if (GetPlayer()->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_RESTING) || GetPlayer()->IsTaxiFlying() || GetSecurity() >= (AccountTypes)sWorld.getConfig(CONFIG_UINT32_INSTANT_LOGOUT)) { LogoutPlayer(true); @@ -683,7 +683,7 @@ void WorldSession::HandleAreaTriggerOpcode(WorldPacket & recv_data) recv_data >> Trigger_ID; DEBUG_LOG("Trigger ID: %u", Trigger_ID); - if(GetPlayer()->isInFlight()) + if(GetPlayer()->IsTaxiFlying()) { DEBUG_LOG("Player '%s' (GUID: %u) in flight, ignore Area Trigger ID: %u", GetPlayer()->GetName(), GetPlayer()->GetGUIDLow(), Trigger_ID); return; @@ -1146,7 +1146,7 @@ void WorldSession::HandleWorldTeleportOpcode(WorldPacket& recv_data) //DEBUG_LOG("Received opcode CMSG_WORLD_TELEPORT"); - if(GetPlayer()->isInFlight()) + if(GetPlayer()->IsTaxiFlying()) { DEBUG_LOG("Player '%s' (GUID: %u) in flight, ignore worldport command.",GetPlayer()->GetName(),GetPlayer()->GetGUIDLow()); return; @@ -1458,7 +1458,7 @@ void WorldSession::HandleCancelMountAuraOpcode( WorldPacket & /*recv_data*/ ) return; } - if(_player->isInFlight()) // not blizz like; no any messages on blizz + if(_player->IsTaxiFlying()) // not blizz like; no any messages on blizz { ChatHandler(this).SendSysMessage(LANG_YOU_IN_FLIGHT); return; @@ -1538,7 +1538,7 @@ void WorldSession::HandleHearthandResurrect(WorldPacket & /*recv_data*/) return; // Can't use in flight - if (_player->isInFlight()) + if (_player->IsTaxiFlying()) return; // Send Everytime diff --git a/src/game/MovementHandler.cpp b/src/game/MovementHandler.cpp index c6376646a..b02645f31 100644 --- a/src/game/MovementHandler.cpp +++ b/src/game/MovementHandler.cpp @@ -288,7 +288,7 @@ void WorldSession::HandleMovementOpcodes( WorldPacket & recv_data ) } // fall damage generation (ignore in flight case that can be triggered also at lags in moment teleportation to another map). - if (opcode == MSG_MOVE_FALL_LAND && plMover && !plMover->isInFlight()) + if (opcode == MSG_MOVE_FALL_LAND && plMover && !plMover->IsTaxiFlying()) plMover->HandleFall(movementInfo); if (plMover && (movementInfo.HasMovementFlag(MOVEFLAG_SWIMMING) != plMover->IsInWater())) diff --git a/src/game/Object.cpp b/src/game/Object.cpp index 5fd1e6fd9..9b25096a8 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -303,7 +303,7 @@ void Object::BuildMovementUpdate(ByteBuffer * data, uint16 updateFlags) const // remove unknown, unused etc flags for now player->m_movementInfo.RemoveMovementFlag(MOVEFLAG_SPLINE_ENABLED); - if(player->isInFlight()) + if(player->IsTaxiFlying()) { ASSERT(player->GetMotionMaster()->GetCurrentMovementGeneratorType() == FLIGHT_MOTION_TYPE); player->m_movementInfo.AddMovementFlag(MOVEFLAG_FORWARD); @@ -340,7 +340,7 @@ void Object::BuildMovementUpdate(ByteBuffer * data, uint16 updateFlags) const Player *player = ((Player*)unit); - if(!player->isInFlight()) + if(!player->IsTaxiFlying()) { DEBUG_LOG("_BuildMovementUpdate: MOVEFLAG_SPLINE_ENABLED but not in flight"); return; diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 8f1dc7f14..2127d8542 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -2229,7 +2229,7 @@ void Player::RegenerateHealth(uint32 diff) Creature* Player::GetNPCIfCanInteractWith(ObjectGuid guid, uint32 npcflagmask) { // some basic checks - if (guid.IsEmpty() || !IsInWorld() || isInFlight()) + if (guid.IsEmpty() || !IsInWorld() || IsTaxiFlying()) return NULL; // not in interactive state @@ -2283,7 +2283,7 @@ Creature* Player::GetNPCIfCanInteractWith(ObjectGuid guid, uint32 npcflagmask) GameObject* Player::GetGameObjectIfCanInteractWith(ObjectGuid guid, uint32 gameobject_type) const { // some basic checks - if (guid.IsEmpty() || !IsInWorld() || isInFlight()) + if (guid.IsEmpty() || !IsInWorld() || IsTaxiFlying()) return NULL; // not in interactive state @@ -6119,7 +6119,7 @@ void Player::CheckAreaExploreAndOutdoor() if (!isAlive()) return; - if (isInFlight()) + if (IsTaxiFlying()) return; bool isOutdoor; @@ -19468,7 +19468,7 @@ void Player::SendInitialPacketsBeforeAddToMap() // SMSG_POWER_UPDATE // set fly flag if in fly form or taxi flight to prevent visually drop at ground in showup moment - if(HasAuraType(SPELL_AURA_MOD_FLIGHT_SPEED_MOUNTED) || HasAuraType(SPELL_AURA_FLY) || isInFlight()) + if(HasAuraType(SPELL_AURA_MOD_FLIGHT_SPEED_MOUNTED) || HasAuraType(SPELL_AURA_FLY) || IsTaxiFlying()) m_movementInfo.AddMovementFlag(MOVEFLAG_FLYING); SetMover(this); @@ -20012,7 +20012,7 @@ void Player::SummonIfPossible(bool agree) return; // stop taxi flight at summon - if(isInFlight()) + if(IsTaxiFlying()) { GetMotionMaster()->MovementExpired(); m_taxi.ClearTaxiDestinations(); @@ -20590,7 +20590,7 @@ void Player::UpdateUnderwaterState( Map* m, float x, float y, float z ) } // Allow travel in dark water on taxi or transport - if ((liquid_status.type & MAP_LIQUID_TYPE_DARK_WATER) && !isInFlight() && !GetTransport()) + if ((liquid_status.type & MAP_LIQUID_TYPE_DARK_WATER) && !IsTaxiFlying() && !GetTransport()) m_MirrorTimerFlags |= UNDERWATER_INDARKWATER; else m_MirrorTimerFlags &= ~UNDERWATER_INDARKWATER; diff --git a/src/game/Player.h b/src/game/Player.h index 1fdaf24dd..1bae1bdd7 100644 --- a/src/game/Player.h +++ b/src/game/Player.h @@ -2208,6 +2208,7 @@ class MANGOS_DLL_SPEC Player : public Unit bool CanFly() const { return m_movementInfo.HasMovementFlag(MOVEFLAG_CAN_FLY); } bool IsFlying() const { return m_movementInfo.HasMovementFlag(MOVEFLAG_FLYING); } + bool IsFreeFlying() const { return HasAuraType(SPELL_AURA_MOD_FLIGHT_SPEED_MOUNTED) || HasAuraType(SPELL_AURA_FLY); } bool IsKnowHowFlyIn(uint32 mapid, uint32 zone, uint32 area) const; void SetClientControl(Unit* target, uint8 allowMove); diff --git a/src/game/ReactorAI.cpp b/src/game/ReactorAI.cpp index f39cd1af3..5e537e871 100644 --- a/src/game/ReactorAI.cpp +++ b/src/game/ReactorAI.cpp @@ -107,7 +107,7 @@ ReactorAI::EnterEvadeMode() { DEBUG_FILTER_LOG(LOG_FILTER_AI_AND_MOVEGENSS, "Creature stopped attacking, victim is in stealth [guid=%u]", m_creature->GetGUIDLow()); } - else if (victim->isInFlight()) + else if (victim->IsTaxiFlying()) { DEBUG_FILTER_LOG(LOG_FILTER_AI_AND_MOVEGENSS, "Creature stopped attacking, victim is in flight [guid=%u]", m_creature->GetGUIDLow()); } diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 379fae644..ee928c84e 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -4300,7 +4300,7 @@ SpellCastResult Spell::CheckCast(bool strict) return SPELL_FAILED_TARGET_AURASTATE; // Not allow casting on flying player - if (target->isInFlight()) + if (target->IsTaxiFlying()) return SPELL_FAILED_BAD_TARGETS; if(!m_IsTriggeredSpell && VMAP::VMapFactory::checkSpellForLoS(m_spellInfo->Id) && !m_caster->IsWithinLOSInMap(target)) @@ -4495,7 +4495,7 @@ SpellCastResult Spell::CheckCast(bool strict) if (m_caster->IsMounted() && m_caster->GetTypeId()==TYPEID_PLAYER && !m_IsTriggeredSpell && !IsPassiveSpell(m_spellInfo) && !(m_spellInfo->Attributes & SPELL_ATTR_CASTABLE_WHILE_MOUNTED)) { - if (m_caster->isInFlight()) + if (m_caster->IsTaxiFlying()) return SPELL_FAILED_NOT_ON_TAXI; else return SPELL_FAILED_NOT_MOUNTED; diff --git a/src/game/Spell.h b/src/game/Spell.h index 2b30f151c..0621c3e7f 100644 --- a/src/game/Spell.h +++ b/src/game/Spell.h @@ -655,7 +655,7 @@ namespace MaNGOS for(PlayerMapType::iterator itr=m.begin(); itr != m.end(); ++itr) { Player * pPlayer = itr->getSource(); - if( !pPlayer->isAlive() || pPlayer->isInFlight()) + if( !pPlayer->isAlive() || pPlayer->IsTaxiFlying()) continue; if( i_originalCaster->IsFriendlyTo(pPlayer) ) diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 261d15b13..757400e9f 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -2731,7 +2731,7 @@ void Spell::EffectTriggerMissileSpell(SpellEffectIndex effect_idx) void Spell::EffectJump(SpellEffectIndex eff_idx) { - if(m_caster->isInFlight()) + if(m_caster->IsTaxiFlying()) return; // Init dest coordinates @@ -2780,7 +2780,7 @@ void Spell::EffectJump(SpellEffectIndex eff_idx) void Spell::EffectTeleportUnits(SpellEffectIndex eff_idx) { - if(!unitTarget || unitTarget->isInFlight()) + if(!unitTarget || unitTarget->IsTaxiFlying()) return; switch (m_spellInfo->EffectImplicitTargetB[eff_idx]) @@ -4431,7 +4431,7 @@ void Spell::EffectTeleUnitsFaceCaster(SpellEffectIndex eff_idx) if (!unitTarget) return; - if (unitTarget->isInFlight()) + if (unitTarget->IsTaxiFlying()) return; float dis = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[eff_idx])); @@ -6664,7 +6664,7 @@ void Spell::EffectStuck(SpellEffectIndex /*eff_idx*/) DEBUG_LOG("Spell Effect: Stuck"); DETAIL_LOG("Player %s (guid %u) used auto-unstuck future at map %u (%f, %f, %f)", pTarget->GetName(), pTarget->GetGUIDLow(), m_caster->GetMapId(), m_caster->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ()); - if(pTarget->isInFlight()) + if(pTarget->IsTaxiFlying()) return; // homebind location is loaded always @@ -7067,7 +7067,7 @@ void Spell::EffectBlock(SpellEffectIndex /*eff_idx*/) void Spell::EffectLeapForward(SpellEffectIndex eff_idx) { - if(unitTarget->isInFlight()) + if(unitTarget->IsTaxiFlying()) return; if( m_spellInfo->rangeIndex == 1) //self range @@ -7095,7 +7095,7 @@ void Spell::EffectLeapForward(SpellEffectIndex eff_idx) void Spell::EffectLeapBack(SpellEffectIndex eff_idx) { - if(unitTarget->isInFlight()) + if(unitTarget->IsTaxiFlying()) return; m_caster->KnockBackFrom(unitTarget,float(m_spellInfo->EffectMiscValue[eff_idx])/10,float(damage)/10); diff --git a/src/game/ThreatManager.cpp b/src/game/ThreatManager.cpp index 3f506fe46..2290b0474 100644 --- a/src/game/ThreatManager.cpp +++ b/src/game/ThreatManager.cpp @@ -137,7 +137,7 @@ void HostileReference::updateOnlineStatus() // target is not in flight if(isValid() && ((getTarget()->GetTypeId() != TYPEID_PLAYER || !((Player*)getTarget())->isGameMaster()) || - !getTarget()->hasUnitState(UNIT_STAT_IN_FLIGHT))) + !getTarget()->hasUnitState(UNIT_STAT_TAXI_FLIGHT))) { Creature* creature = (Creature* ) getSourceUnit(); online = getTarget()->isInAccessablePlaceFor(creature); diff --git a/src/game/TradeHandler.cpp b/src/game/TradeHandler.cpp index 02281a531..6abb06199 100644 --- a/src/game/TradeHandler.cpp +++ b/src/game/TradeHandler.cpp @@ -554,7 +554,7 @@ void WorldSession::HandleInitiateTradeOpcode(WorldPacket& recvPacket) return; } - if (GetPlayer()->isInFlight()) + if (GetPlayer()->IsTaxiFlying()) { SendTradeStatus(TRADE_STATUS_TARGET_TO_FAR); return; @@ -580,7 +580,7 @@ void WorldSession::HandleInitiateTradeOpcode(WorldPacket& recvPacket) return; } - if (pOther->isInFlight()) + if (pOther->IsTaxiFlying()) { SendTradeStatus(TRADE_STATUS_TARGET_TO_FAR); return; diff --git a/src/game/Traveller.h b/src/game/Traveller.h index d854f3294..1694f2906 100644 --- a/src/game/Traveller.h +++ b/src/game/Traveller.h @@ -93,7 +93,7 @@ inline float Traveller::GetMoveDestinationTo(float x, float y, float z float dy = y - GetPositionY(); float dz = z - GetPositionZ(); - if(i_traveller.hasUnitState(UNIT_STAT_IN_FLIGHT)) + if(i_traveller.hasUnitState(UNIT_STAT_TAXI_FLIGHT)) return sqrt((dx*dx) + (dy*dy) + (dz*dz)); else //Walking on the ground return sqrt((dx*dx) + (dy*dy)); @@ -116,7 +116,7 @@ inline void Traveller::Stop() template<> inline float Traveller::Speed() { - if (i_traveller.isInFlight()) + if (i_traveller.IsTaxiFlying()) return PLAYER_FLIGHT_SPEED; else return i_traveller.GetSpeed(i_traveller.m_movementInfo.HasMovementFlag(MOVEFLAG_WALK_MODE) ? MOVE_WALK : MOVE_RUN); @@ -129,7 +129,7 @@ inline float Traveller::GetMoveDestinationTo(float x, float y, float z) float dy = y - GetPositionY(); float dz = z - GetPositionZ(); - if (i_traveller.isInFlight()) + if (i_traveller.IsTaxiFlying()) return sqrt((dx*dx) + (dy*dy) + (dz*dz)); else //Walking on the ground return sqrt((dx*dx) + (dy*dy)); diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index b7ac16394..10fc37006 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -479,7 +479,7 @@ void Unit::RemoveSpellbyDamageTaken(AuraType auraType, uint32 damage) void Unit::DealDamageMods(Unit *pVictim, uint32 &damage, uint32* absorb) { - if (!pVictim->isAlive() || pVictim->isInFlight() || pVictim->GetTypeId() == TYPEID_UNIT && ((Creature*)pVictim)->IsInEvadeMode()) + if (!pVictim->isAlive() || pVictim->IsTaxiFlying() || pVictim->GetTypeId() == TYPEID_UNIT && ((Creature*)pVictim)->IsInEvadeMode()) { if(absorb) *absorb += damage; @@ -1288,7 +1288,7 @@ void Unit::DealSpellDamage(SpellNonMeleeDamage *damageInfo, bool durabilityLoss) if(!this || !pVictim) return; - if (!pVictim->isAlive() || pVictim->isInFlight() || pVictim->GetTypeId() == TYPEID_UNIT && ((Creature*)pVictim)->IsInEvadeMode()) + if (!pVictim->isAlive() || pVictim->IsTaxiFlying() || pVictim->GetTypeId() == TYPEID_UNIT && ((Creature*)pVictim)->IsInEvadeMode()) return; SpellEntry const *spellProto = sSpellStore.LookupEntry(damageInfo->SpellID); @@ -1599,7 +1599,7 @@ void Unit::DealMeleeDamage(CalcDamageInfo *damageInfo, bool durabilityLoss) if(!this || !pVictim) return; - if (!pVictim->isAlive() || pVictim->isInFlight() || pVictim->GetTypeId() == TYPEID_UNIT && ((Creature*)pVictim)->IsInEvadeMode()) + if (!pVictim->isAlive() || pVictim->IsTaxiFlying() || pVictim->GetTypeId() == TYPEID_UNIT && ((Creature*)pVictim)->IsInEvadeMode()) return; //You don't lose health from damage taken from another player while in a sanctuary @@ -7504,7 +7504,7 @@ bool Unit::isTargetableForAttack(bool inverseAlive /*=false*/) const if (isAlive() == inverseAlive) return false; - return IsInWorld() && !hasUnitState(UNIT_STAT_DIED) && !isInFlight(); + return IsInWorld() && !hasUnitState(UNIT_STAT_DIED) && !IsTaxiFlying(); } int32 Unit::ModifyHealth(int32 dVal) @@ -7616,7 +7616,7 @@ bool Unit::isVisibleForOrDetect(Unit const* u, WorldObject const* viewPoint, boo } // different visible distance checks - if (u->isInFlight()) // what see player in flight + if (u->IsTaxiFlying()) // what see player in flight { // use object grey distance for all (only see objects any way) if (!IsWithinDistInMap(viewPoint,World::GetMaxVisibleDistanceInFlight()+(inVisibleList ? World::GetVisibleObjectGreyDistance() : 0.0f), is3dDistance)) diff --git a/src/game/Unit.h b/src/game/Unit.h index 15c05d71d..811853aec 100644 --- a/src/game/Unit.h +++ b/src/game/Unit.h @@ -424,7 +424,7 @@ enum UnitState UNIT_STAT_CONTROLLED = 0x00000040, // Aura::HandleAuraModPossess // persistent movement generator state (all time while movement generator applied to unit (independent from top state of movegen) - UNIT_STAT_IN_FLIGHT = 0x00000080, // player is in flight mode (in fact interrupted at far teleport until next map telport landing) + UNIT_STAT_TAXI_FLIGHT = 0x00000080, // player is in flight mode (in fact interrupted at far teleport until next map telport landing) UNIT_STAT_DISTRACTED = 0x00000100, // DistractedMovementGenerator active // persistent movement generator state with non-persistent mirror states for stop support @@ -452,7 +452,7 @@ enum UnitState // stay or scripted movement for effect( = in player case you can't move by client command) UNIT_STAT_NO_FREE_MOVE = UNIT_STAT_ROOT | UNIT_STAT_STUNNED | UNIT_STAT_DIED | - UNIT_STAT_IN_FLIGHT | + UNIT_STAT_TAXI_FLIGHT | UNIT_STAT_CONFUSED | UNIT_STAT_FLEEING, // not react at move in sight or other @@ -1345,7 +1345,7 @@ class MANGOS_DLL_SPEC Unit : public WorldObject //Need fix or use this bool isGuard() const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GUARD); } - bool isInFlight() const { return hasUnitState(UNIT_STAT_IN_FLIGHT); } + bool IsTaxiFlying() const { return hasUnitState(UNIT_STAT_TAXI_FLIGHT); } bool isInCombat() const { return HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT); } void SetInCombatState(bool PvP, Unit* enemy = NULL); diff --git a/src/game/WaypointMovementGenerator.cpp b/src/game/WaypointMovementGenerator.cpp index ba6bd7e68..f62184f97 100644 --- a/src/game/WaypointMovementGenerator.cpp +++ b/src/game/WaypointMovementGenerator.cpp @@ -310,7 +310,7 @@ void FlightPathMovementGenerator::Initialize(Player &player) void FlightPathMovementGenerator::Finalize(Player & player) { // remove flag to prevent send object build movement packets for flight state and crash (movement generator already not at top of stack) - player.clearUnitState(UNIT_STAT_IN_FLIGHT); + player.clearUnitState(UNIT_STAT_TAXI_FLIGHT); float x, y, z; i_destinationHolder.GetLocationNow(player.GetBaseMap(), x, y, z); @@ -334,13 +334,13 @@ void FlightPathMovementGenerator::Finalize(Player & player) void FlightPathMovementGenerator::Interrupt(Player & player) { - player.clearUnitState(UNIT_STAT_IN_FLIGHT); + player.clearUnitState(UNIT_STAT_TAXI_FLIGHT); } void FlightPathMovementGenerator::Reset(Player & player) { player.getHostileRefManager().setOnlineOfflineState(false); - player.addUnitState(UNIT_STAT_IN_FLIGHT); + player.addUnitState(UNIT_STAT_TAXI_FLIGHT); player.SetFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_TAXI_FLIGHT); Traveller traveller(player); // do not send movement, it was sent already diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 687739acb..088976ddd 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "10201" + #define REVISION_NR "10202" #endif // __REVISION_NR_H__