aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Unit
diff options
context:
space:
mode:
authorhorn <pankrac.ja@seznam.cz>2012-07-25 15:39:53 +0200
committerhorn <pankrac.ja@seznam.cz>2012-07-25 15:39:53 +0200
commit2b8ea938774f55cc6e7798a2f86ef9f937e48fae (patch)
tree379738a9ea1ca6f1daf9bd6310ee432cf01376da /src/server/game/Entities/Unit
parent443f1e71d8660307ebf17f20abc954bf4b9eba74 (diff)
Core/PacketIO: Fix and enable few speed changes related opcodes
Diffstat (limited to 'src/server/game/Entities/Unit')
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp173
1 files changed, 85 insertions, 88 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index ad8510a2775..a41d5ddaa0c 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -12751,174 +12751,171 @@ void Unit::SetSpeed(UnitMoveType mtype, float rate, bool forced)
break;
case MOVE_RUN:
data.Initialize(SMSG_SPLINE_MOVE_SET_RUN_SPEED, 1 + 8 + 4);
- data.WriteBit(bytes[7]);
- data.WriteBit(bytes[2]);
- data.WriteBit(bytes[1]);
- data.WriteBit(bytes[3]);
- data.WriteBit(bytes[5]);
- data.WriteBit(bytes[6]);
data.WriteBit(bytes[4]);
data.WriteBit(bytes[0]);
-
- data.WriteByteSeq(bytes[6]);
+ data.WriteBit(bytes[5]);
+ data.WriteBit(bytes[7]);
+ data.WriteBit(bytes[6]);
+ data.WriteBit(bytes[3]);
+ data.WriteBit(bytes[1]);
+ data.WriteBit(bytes[2]);
+ data.FlushBits();
+ data.WriteByteSeq(bytes[0]);
data.WriteByteSeq(bytes[7]);
- data.WriteByteSeq(bytes[4]);
+ data.WriteByteSeq(bytes[6]);
+ data.WriteByteSeq(bytes[5]);
data.WriteByteSeq(bytes[3]);
+ data.WriteByteSeq(bytes[4]);
+ data << float(GetSpeed(mtype));
data.WriteByteSeq(bytes[2]);
- data.WriteByteSeq(bytes[5]);
- data.WriteByteSeq(bytes[0]);
data.WriteByteSeq(bytes[1]);
-
- data << float(GetSpeed(mtype));
break;
case MOVE_RUN_BACK:
data.Initialize(SMSG_SPLINE_MOVE_SET_RUN_BACK_SPEED, 1 + 8 + 4);
- data.WriteBit(bytes[4]);
- data.WriteBit(bytes[0]);
+ data.WriteBit(bytes[1]);
+ data.WriteBit(bytes[2]);
data.WriteBit(bytes[6]);
+ data.WriteBit(bytes[0]);
data.WriteBit(bytes[3]);
- data.WriteBit(bytes[5]);
- data.WriteBit(bytes[1]);
data.WriteBit(bytes[7]);
- data.WriteBit(bytes[2]);
-
+ data.WriteBit(bytes[5]);
+ data.WriteBit(bytes[4]);
+ data.FlushBits();
data.WriteByteSeq(bytes[1]);
- data.WriteByteSeq(bytes[7]);
- data.WriteByteSeq(bytes[5]);
- data.WriteByteSeq(bytes[3]);
- data.WriteByteSeq(bytes[6]);
+ data << float(GetSpeed(mtype));
+ data.WriteByteSeq(bytes[2]);
data.WriteByteSeq(bytes[4]);
data.WriteByteSeq(bytes[0]);
- data.WriteByteSeq(bytes[2]);
-
- data << float(GetSpeed(mtype));
+ data.WriteByteSeq(bytes[3]);
+ data.WriteByteSeq(bytes[6]);
+ data.WriteByteSeq(bytes[5]);
+ data.WriteByteSeq(bytes[7]);
break;
case MOVE_SWIM:
data.Initialize(SMSG_SPLINE_MOVE_SET_SWIM_SPEED, 1 + 8 + 4);
- data.WriteBit(bytes[3]);
- data.WriteBit(bytes[5]);
- data.WriteBit(bytes[7]);
data.WriteBit(bytes[4]);
data.WriteBit(bytes[2]);
+ data.WriteBit(bytes[5]);
data.WriteBit(bytes[0]);
- data.WriteBit(bytes[1]);
+ data.WriteBit(bytes[7]);
data.WriteBit(bytes[6]);
-
- data.WriteByteSeq(bytes[0]);
- data.WriteByteSeq(bytes[3]);
+ data.WriteBit(bytes[3]);
+ data.WriteBit(bytes[1]);
+ data.FlushBits();
+ data.WriteByteSeq(bytes[5]);
data.WriteByteSeq(bytes[6]);
- data.WriteByteSeq(bytes[4]);
+ data.WriteByteSeq(bytes[1]);
+ data.WriteByteSeq(bytes[0]);
data.WriteByteSeq(bytes[2]);
- data.WriteByteSeq(bytes[7]);
+ data.WriteByteSeq(bytes[4]);
data << float(GetSpeed(mtype));
- data.WriteByteSeq(bytes[1]);
- data.WriteByteSeq(bytes[5]);
+ data.WriteByteSeq(bytes[7]);
+ data.WriteByteSeq(bytes[3]);
break;
case MOVE_SWIM_BACK:
data.Initialize(SMSG_SPLINE_MOVE_SET_SWIM_BACK_SPEED, 1 + 8 + 4);
- data.WriteBit(bytes[3]);
- data.WriteBit(bytes[5]);
- data.WriteBit(bytes[4]);
data.WriteBit(bytes[0]);
- data.WriteBit(bytes[2]);
data.WriteBit(bytes[1]);
+ data.WriteBit(bytes[3]);
data.WriteBit(bytes[6]);
+ data.WriteBit(bytes[4]);
+ data.WriteBit(bytes[5]);
data.WriteBit(bytes[7]);
-
+ data.WriteBit(bytes[2]);
+ data.FlushBits();
+ data.WriteByteSeq(bytes[5]);
+ data.WriteByteSeq(bytes[3]);
data.WriteByteSeq(bytes[1]);
data.WriteByteSeq(bytes[0]);
- data.WriteByteSeq(bytes[2]);
- data << float(GetSpeed(mtype));
data.WriteByteSeq(bytes[7]);
- data.WriteByteSeq(bytes[3]);
data.WriteByteSeq(bytes[6]);
+ data << float(GetSpeed(mtype));
data.WriteByteSeq(bytes[4]);
- data.WriteByteSeq(bytes[5]);
+ data.WriteByteSeq(bytes[2]);
break;
case MOVE_TURN_RATE:
data.Initialize(SMSG_SPLINE_MOVE_SET_TURN_RATE, 1 + 8 + 4);
- data.WriteBit(bytes[0]);
+ data.WriteBit(bytes[2]);
data.WriteBit(bytes[4]);
- data.WriteBit(bytes[5]);
- data.WriteBit(bytes[1]);
data.WriteBit(bytes[6]);
+ data.WriteBit(bytes[1]);
data.WriteBit(bytes[3]);
+ data.WriteBit(bytes[5]);
data.WriteBit(bytes[7]);
- data.WriteBit(bytes[2]);
-
- data.WriteByteSeq(bytes[2]);
- data.WriteByteSeq(bytes[4]);
- data.WriteByteSeq(bytes[7]);
- data.WriteByteSeq(bytes[0]);
+ data.WriteBit(bytes[0]);
+ data.FlushBits();
data << float(GetSpeed(mtype));
- data.WriteByteSeq(bytes[5]);
data.WriteByteSeq(bytes[1]);
- data.WriteByteSeq(bytes[6]);
+ data.WriteByteSeq(bytes[5]);
data.WriteByteSeq(bytes[3]);
+ data.WriteByteSeq(bytes[2]);
+ data.WriteByteSeq(bytes[7]);
+ data.WriteByteSeq(bytes[4]);
+ data.WriteByteSeq(bytes[6]);
+ data.WriteByteSeq(bytes[0]);
break;
case MOVE_FLIGHT:
data.Initialize(SMSG_SPLINE_MOVE_SET_FLIGHT_SPEED, 1 + 8 + 4);
- data.WriteBit(bytes[2]);
- data.WriteBit(bytes[3]);
- data.WriteBit(bytes[5]);
- data.WriteBit(bytes[0]);
data.WriteBit(bytes[7]);
data.WriteBit(bytes[4]);
- data.WriteBit(bytes[6]);
+ data.WriteBit(bytes[0]);
data.WriteBit(bytes[1]);
-
- data << float(GetSpeed(mtype));
-
- data.WriteByteSeq(bytes[1]);
+ data.WriteBit(bytes[3]);
+ data.WriteBit(bytes[6]);
+ data.WriteBit(bytes[5]);
+ data.WriteBit(bytes[2]);
+ data.FlushBits();
data.WriteByteSeq(bytes[0]);
- data.WriteByteSeq(bytes[6]);
+ data.WriteByteSeq(bytes[5]);
+ data.WriteByteSeq(bytes[4]);
data.WriteByteSeq(bytes[7]);
data.WriteByteSeq(bytes[3]);
data.WriteByteSeq(bytes[2]);
- data.WriteByteSeq(bytes[5]);
- data.WriteByteSeq(bytes[4]);
+ data.WriteByteSeq(bytes[1]);
+ data.WriteByteSeq(bytes[6]);
+ data << float(GetSpeed(mtype));
break;
case MOVE_FLIGHT_BACK:
data.Initialize(SMSG_SPLINE_MOVE_SET_FLIGHT_BACK_SPEED, 1 + 8 + 4);
+ data.WriteBit(bytes[2]);
data.WriteBit(bytes[1]);
data.WriteBit(bytes[6]);
- data.WriteBit(bytes[0]);
- data.WriteBit(bytes[2]);
- data.WriteBit(bytes[7]);
data.WriteBit(bytes[5]);
- data.WriteBit(bytes[4]);
+ data.WriteBit(bytes[0]);
data.WriteBit(bytes[3]);
-
+ data.WriteBit(bytes[4]);
+ data.WriteBit(bytes[7]);
+ data.FlushBits();
data.WriteByteSeq(bytes[5]);
+ data << float(GetSpeed(mtype));
data.WriteByteSeq(bytes[6]);
+ data.WriteByteSeq(bytes[1]);
data.WriteByteSeq(bytes[0]);
- data.WriteByteSeq(bytes[4]);
data.WriteByteSeq(bytes[2]);
- data.WriteByteSeq(bytes[1]);
- data.WriteByteSeq(bytes[7]);
- data << float(GetSpeed(mtype));
data.WriteByteSeq(bytes[3]);
+ data.WriteByteSeq(bytes[7]);
+ data.WriteByteSeq(bytes[4]);
break;
case MOVE_PITCH_RATE:
data.Initialize(SMSG_SPLINE_MOVE_SET_PITCH_RATE, 1 + 8 + 4);
- data.WriteBit(bytes[7]);
- data.WriteBit(bytes[2]);
data.WriteBit(bytes[3]);
data.WriteBit(bytes[5]);
- data.WriteBit(bytes[4]);
- data.WriteBit(bytes[0]);
data.WriteBit(bytes[6]);
data.WriteBit(bytes[1]);
-
- data.WriteByteSeq(bytes[0]);
+ data.WriteBit(bytes[0]);
+ data.WriteBit(bytes[4]);
+ data.WriteBit(bytes[7]);
+ data.WriteBit(bytes[2]);
+ data.FlushBits();
data.WriteByteSeq(bytes[1]);
+ data.WriteByteSeq(bytes[5]);
data.WriteByteSeq(bytes[7]);
- data.WriteByteSeq(bytes[2]);
- data.WriteByteSeq(bytes[3]);
+ data.WriteByteSeq(bytes[0]);
data.WriteByteSeq(bytes[6]);
- data.WriteByteSeq(bytes[5]);
- data.WriteByteSeq(bytes[4]);
+ data.WriteByteSeq(bytes[3]);
+ data.WriteByteSeq(bytes[2]);
data << float(GetSpeed(mtype));
+ data.WriteByteSeq(bytes[4]);
break;
default:
sLog->outError("Unit::SetSpeed: Unsupported move type (%d), data not sent to client.", mtype);