aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Unit
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Entities/Unit')
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp19
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.h3
2 files changed, 17 insertions, 5 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index cf14bb02ed9..4f491c0ebe9 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -17598,26 +17598,35 @@ bool Unit::SetHover(bool enable)
void Unit::SendMovementHover()
{
+ if (GetTypeId() == TYPEID_PLAYER)
+ ToPlayer()->SendMovementSetHover(HasUnitMovementFlag(MOVEMENTFLAG_HOVER));
+
WorldPacket data(MSG_MOVE_HOVER, 64);
data.append(GetPackGUID());
BuildMovementPacket(&data);
- SendMessageToSet(&data, true);
+ SendMessageToSet(&data, false);
}
void Unit::SendMovementWaterWalking()
{
+ if (GetTypeId() == TYPEID_PLAYER)
+ ToPlayer()->SendMovementSetWaterWalking(HasUnitMovementFlag(MOVEMENTFLAG_WATERWALKING));
+
WorldPacket data(MSG_MOVE_WATER_WALK, 64);
data.append(GetPackGUID());
BuildMovementPacket(&data);
- SendMessageToSet(&data, true);
+ SendMessageToSet(&data, false);
}
void Unit::SendMovementFeatherFall()
{
+ if (GetTypeId() == TYPEID_PLAYER)
+ ToPlayer()->SendMovementSetFeatherFall(HasUnitMovementFlag(MOVEMENTFLAG_FALLING_SLOW));
+
WorldPacket data(MSG_MOVE_FEATHER_FALL, 64);
data.append(GetPackGUID());
BuildMovementPacket(&data);
- SendMessageToSet(&data, true);
+ SendMessageToSet(&data, false);
}
void Unit::SendMovementGravityChange()
@@ -17625,7 +17634,7 @@ void Unit::SendMovementGravityChange()
WorldPacket data(MSG_MOVE_GRAVITY_CHNG, 64);
data.append(GetPackGUID());
BuildMovementPacket(&data);
- SendMessageToSet(&data, true);
+ SendMessageToSet(&data, false);
}
void Unit::SendMovementCanFlyChange()
@@ -17650,5 +17659,5 @@ void Unit::SendMovementCanFlyChange()
WorldPacket data(MSG_MOVE_UPDATE_CAN_FLY, 64);
data.append(GetPackGUID());
BuildMovementPacket(&data);
- SendMessageToSet(&data, true);
+ SendMessageToSet(&data, false);
}
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index fcbe1afa389..bb826c14dfc 100755
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -707,6 +707,9 @@ enum MovementFlags
MOVEMENTFLAG_MASK_TURNING =
MOVEMENTFLAG_LEFT | MOVEMENTFLAG_RIGHT,
+ MOVEMENTFLAG_MASK_MOVING_FLY =
+ MOVEMENTFLAG_FLYING | MOVEMENTFLAG_ASCENDING | MOVEMENTFLAG_DESCENDING,
+
//! TODO if needed: add more flags to this masks that are exclusive to players
MOVEMENTFLAG_MASK_PLAYER_ONLY =
MOVEMENTFLAG_FLYING,