aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Unit
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Entities/Unit')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp138
-rw-r--r--src/server/game/Entities/Unit/Unit.h12
2 files changed, 66 insertions, 84 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 750643ec126..ca44e62923d 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -15372,25 +15372,22 @@ bool Unit::SetWalk(bool enable)
return true;
}
-bool Unit::SetDisableGravity(bool disable, bool packetOnly /*= false*/)
+bool Unit::SetDisableGravity(bool disable)
{
- if (!packetOnly)
- {
- if (disable == IsLevitating())
- return false;
+ if (disable == IsLevitating())
+ return false;
- if (disable)
- {
- AddUnitMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY);
- RemoveUnitMovementFlag(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_SPLINE_ELEVATION);
- SetFall(false);
- }
- else
- {
- RemoveUnitMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY);
- if (!HasUnitMovementFlag(MOVEMENTFLAG_CAN_FLY))
- SetFall(true);
- }
+ if (disable)
+ {
+ AddUnitMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY);
+ RemoveUnitMovementFlag(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_SPLINE_ELEVATION);
+ SetFall(false);
+ }
+ else
+ {
+ RemoveUnitMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY);
+ if (!HasUnitMovementFlag(MOVEMENTFLAG_CAN_FLY))
+ SetFall(true);
}
static OpcodeServer const gravityOpcodeTable[2][2] =
@@ -15503,18 +15500,15 @@ bool Unit::SetCanFly(bool enable)
return true;
}
-bool Unit::SetWaterWalking(bool enable, bool packetOnly /*= false */)
+bool Unit::SetWaterWalking(bool enable)
{
- if (!packetOnly)
- {
- if (enable == HasUnitMovementFlag(MOVEMENTFLAG_WATERWALKING))
- return false;
+ if (enable == HasUnitMovementFlag(MOVEMENTFLAG_WATERWALKING))
+ return false;
- if (enable)
- AddUnitMovementFlag(MOVEMENTFLAG_WATERWALKING);
- else
- RemoveUnitMovementFlag(MOVEMENTFLAG_WATERWALKING);
- }
+ if (enable)
+ AddUnitMovementFlag(MOVEMENTFLAG_WATERWALKING);
+ else
+ RemoveUnitMovementFlag(MOVEMENTFLAG_WATERWALKING);
static OpcodeServer const waterWalkingOpcodeTable[2][2] =
{
@@ -15543,18 +15537,15 @@ bool Unit::SetWaterWalking(bool enable, bool packetOnly /*= false */)
return true;
}
-bool Unit::SetFeatherFall(bool enable, bool packetOnly /*= false */)
+bool Unit::SetFeatherFall(bool enable)
{
- if (!packetOnly)
- {
- if (enable == HasUnitMovementFlag(MOVEMENTFLAG_FALLING_SLOW))
- return false;
+ if (enable == HasUnitMovementFlag(MOVEMENTFLAG_FALLING_SLOW))
+ return false;
- if (enable)
- AddUnitMovementFlag(MOVEMENTFLAG_FALLING_SLOW);
- else
- RemoveUnitMovementFlag(MOVEMENTFLAG_FALLING_SLOW);
- }
+ if (enable)
+ AddUnitMovementFlag(MOVEMENTFLAG_FALLING_SLOW);
+ else
+ RemoveUnitMovementFlag(MOVEMENTFLAG_FALLING_SLOW);
static OpcodeServer const featherFallOpcodeTable[2][2] =
{
@@ -15583,31 +15574,28 @@ bool Unit::SetFeatherFall(bool enable, bool packetOnly /*= false */)
return true;
}
-bool Unit::SetHover(bool enable, bool packetOnly /*= false*/)
+bool Unit::SetHover(bool enable)
{
- if (!packetOnly)
- {
- if (enable == HasUnitMovementFlag(MOVEMENTFLAG_HOVER))
- return false;
+ if (enable == HasUnitMovementFlag(MOVEMENTFLAG_HOVER))
+ return false;
- float hoverHeight = GetFloatValue(UNIT_FIELD_HOVERHEIGHT);
+ float hoverHeight = GetFloatValue(UNIT_FIELD_HOVERHEIGHT);
- if (enable)
- {
- //! No need to check height on ascent
- AddUnitMovementFlag(MOVEMENTFLAG_HOVER);
- if (hoverHeight)
- UpdateHeight(GetPositionZ() + hoverHeight);
- }
- else
+ if (enable)
+ {
+ //! No need to check height on ascent
+ AddUnitMovementFlag(MOVEMENTFLAG_HOVER);
+ if (hoverHeight)
+ UpdateHeight(GetPositionZ() + hoverHeight);
+ }
+ else
+ {
+ RemoveUnitMovementFlag(MOVEMENTFLAG_HOVER);
+ if (hoverHeight)
{
- RemoveUnitMovementFlag(MOVEMENTFLAG_HOVER);
- if (hoverHeight)
- {
- float newZ = GetPositionZ() - hoverHeight;
- UpdateAllowedPositionZ(GetPositionX(), GetPositionY(), newZ);
- UpdateHeight(newZ);
- }
+ float newZ = GetPositionZ() - hoverHeight;
+ UpdateAllowedPositionZ(GetPositionX(), GetPositionY(), newZ);
+ UpdateHeight(newZ);
}
}
@@ -15709,18 +15697,15 @@ bool Unit::SetCanTransitionBetweenSwimAndFly(bool enable)
return true;
}
-bool Unit::SetCanTurnWhileFalling(bool enable, bool packetOnly /*= false*/)
+bool Unit::SetCanTurnWhileFalling(bool enable)
{
- if (!packetOnly)
- {
- if (enable == HasExtraUnitMovementFlag(MOVEMENTFLAG2_CAN_TURN_WHILE_FALLING))
- return false;
+ if (enable == HasExtraUnitMovementFlag(MOVEMENTFLAG2_CAN_TURN_WHILE_FALLING))
+ return false;
- if (enable)
- AddExtraUnitMovementFlag(MOVEMENTFLAG2_CAN_TURN_WHILE_FALLING);
- else
- RemoveExtraUnitMovementFlag(MOVEMENTFLAG2_CAN_TURN_WHILE_FALLING);
- }
+ if (enable)
+ AddExtraUnitMovementFlag(MOVEMENTFLAG2_CAN_TURN_WHILE_FALLING);
+ else
+ RemoveExtraUnitMovementFlag(MOVEMENTFLAG2_CAN_TURN_WHILE_FALLING);
static OpcodeServer const canTurnWhileFallingOpcodeTable[2] =
{
@@ -15743,18 +15728,15 @@ bool Unit::SetCanTurnWhileFalling(bool enable, bool packetOnly /*= false*/)
return true;
}
-bool Unit::SetDoubleJump(bool enable, bool packetOnly /*= false*/)
+bool Unit::SetDoubleJump(bool enable)
{
- if (!packetOnly)
- {
- if (enable == HasExtraUnitMovementFlag(MOVEMENTFLAG2_DOUBLE_JUMP))
- return false;
+ if (enable == HasExtraUnitMovementFlag(MOVEMENTFLAG2_DOUBLE_JUMP))
+ return false;
- if (enable)
- AddExtraUnitMovementFlag(MOVEMENTFLAG2_DOUBLE_JUMP);
- else
- RemoveExtraUnitMovementFlag(MOVEMENTFLAG2_DOUBLE_JUMP);
- }
+ if (enable)
+ AddExtraUnitMovementFlag(MOVEMENTFLAG2_DOUBLE_JUMP);
+ else
+ RemoveExtraUnitMovementFlag(MOVEMENTFLAG2_DOUBLE_JUMP);
static OpcodeServer const doubleJumpOpcodeTable[2] =
{
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index 58cab981dfc..a521a782a0d 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -1690,17 +1690,17 @@ class TC_GAME_API Unit : public WorldObject
bool IsWalking() const { return m_movementInfo.HasMovementFlag(MOVEMENTFLAG_WALKING); }
bool IsHovering() const { return m_movementInfo.HasMovementFlag(MOVEMENTFLAG_HOVER); }
bool SetWalk(bool enable);
- bool SetDisableGravity(bool disable, bool packetOnly = false);
+ bool SetDisableGravity(bool disable);
bool SetFall(bool enable);
bool SetSwim(bool enable);
bool SetCanFly(bool enable);
- bool SetWaterWalking(bool enable, bool packetOnly = false);
- bool SetFeatherFall(bool enable, bool packetOnly = false);
- bool SetHover(bool enable, bool packetOnly = false);
+ bool SetWaterWalking(bool enable);
+ bool SetFeatherFall(bool enable);
+ bool SetHover(bool enable);
bool SetCollision(bool disable);
bool SetCanTransitionBetweenSwimAndFly(bool enable);
- bool SetCanTurnWhileFalling(bool enable, bool packetOnly = false);
- bool SetDoubleJump(bool enable, bool packetOnly = false);
+ bool SetCanTurnWhileFalling(bool enable);
+ bool SetDoubleJump(bool enable);
void SendSetVehicleRecId(uint32 vehicleId);
void SetInFront(WorldObject const* target);