Core/Movement:
* fixed packet structure field order of MSG_MOVE_TIME_SKIPPED * send move_update opcodes to players after the target player's client has confirmed the speed change via ack opcode *todo: implement anti-cheat checks
This commit is contained in:
1 parent
4aa494630b
commit
a7ebacfe7b
4 files changed
+62
-28
No files matched your search
@@ -9100,17 +9100,17 @@ void Unit::SetSpeedRate(UnitMoveType mtype, float rate)
|
||||
|
||||
PropagateSpeedChange();
|
||||
|
||||
static OpcodeServer const moveTypeToOpcode[MAX_MOVE_TYPE][3] =
|
||||
static OpcodeServer const moveTypeToOpcode[MAX_MOVE_TYPE][2] =
|
||||
{
|
||||
{SMSG_SPLINE_MOVE_SET_WALK_SPEED, SMSG_MOVE_SET_WALK_SPEED, SMSG_MOVE_UPDATE_WALK_SPEED },
|
||||
{SMSG_SPLINE_MOVE_SET_RUN_SPEED, SMSG_MOVE_SET_RUN_SPEED, SMSG_MOVE_UPDATE_RUN_SPEED },
|
||||
{SMSG_SPLINE_MOVE_SET_RUN_BACK_SPEED, SMSG_MOVE_SET_RUN_BACK_SPEED, SMSG_MOVE_UPDATE_RUN_BACK_SPEED },
|
||||
{SMSG_SPLINE_MOVE_SET_SWIM_SPEED, SMSG_MOVE_SET_SWIM_SPEED, SMSG_MOVE_UPDATE_SWIM_SPEED },
|
||||
{SMSG_SPLINE_MOVE_SET_SWIM_BACK_SPEED, SMSG_MOVE_SET_SWIM_BACK_SPEED, SMSG_MOVE_UPDATE_SWIM_BACK_SPEED },
|
||||
{SMSG_SPLINE_MOVE_SET_TURN_RATE, SMSG_MOVE_SET_TURN_RATE, SMSG_MOVE_UPDATE_TURN_RATE },
|
||||
{SMSG_SPLINE_MOVE_SET_FLIGHT_SPEED, SMSG_MOVE_SET_FLIGHT_SPEED, SMSG_MOVE_UPDATE_FLIGHT_SPEED },
|
||||
{SMSG_SPLINE_MOVE_SET_FLIGHT_BACK_SPEED, SMSG_MOVE_SET_FLIGHT_BACK_SPEED, SMSG_MOVE_UPDATE_FLIGHT_BACK_SPEED},
|
||||
{SMSG_SPLINE_MOVE_SET_PITCH_RATE, SMSG_MOVE_SET_PITCH_RATE, SMSG_MOVE_UPDATE_PITCH_RATE },
|
||||
{SMSG_SPLINE_MOVE_SET_WALK_SPEED, SMSG_MOVE_SET_WALK_SPEED },
|
||||
{SMSG_SPLINE_MOVE_SET_RUN_SPEED, SMSG_MOVE_SET_RUN_SPEED },
|
||||
{SMSG_SPLINE_MOVE_SET_RUN_BACK_SPEED, SMSG_MOVE_SET_RUN_BACK_SPEED },
|
||||
{SMSG_SPLINE_MOVE_SET_SWIM_SPEED, SMSG_MOVE_SET_SWIM_SPEED },
|
||||
{SMSG_SPLINE_MOVE_SET_SWIM_BACK_SPEED, SMSG_MOVE_SET_SWIM_BACK_SPEED },
|
||||
{SMSG_SPLINE_MOVE_SET_TURN_RATE, SMSG_MOVE_SET_TURN_RATE, },
|
||||
{SMSG_SPLINE_MOVE_SET_FLIGHT_SPEED, SMSG_MOVE_SET_FLIGHT_SPEED, },
|
||||
{SMSG_SPLINE_MOVE_SET_FLIGHT_BACK_SPEED, SMSG_MOVE_SET_FLIGHT_BACK_SPEED, },
|
||||
{SMSG_SPLINE_MOVE_SET_PITCH_RATE, SMSG_MOVE_SET_PITCH_RATE, }
|
||||
};
|
||||
|
||||
if (GetTypeId() == TYPEID_PLAYER)
|
||||
@@ -9128,7 +9128,7 @@ void Unit::SetSpeedRate(UnitMoveType mtype, float rate)
|
||||
Movement::ExtraMovementStatusElement extra(&speedVal);
|
||||
extra.Data.floatData = GetSpeed(mtype);
|
||||
|
||||
Movement::PacketSender(this, moveTypeToOpcode[mtype][0], moveTypeToOpcode[mtype][1], moveTypeToOpcode[mtype][2], &extra).Send();
|
||||
Movement::PacketSender(this, moveTypeToOpcode[mtype][0], moveTypeToOpcode[mtype][1], NULL_OPCODE, &extra).Send();
|
||||
}
|
||||
|
||||
void Unit::RemoveAllFollowers()
|
||||
|
||||
Reference in new issue
Block a user