MSG_MOVE_FALL_LAND 5.4.8 (18414)

This commit is contained in:
zamalaev 2020-02-19 20:17:55 +00:00 committed by Antz
parent 6c8037d531
commit bf556f6b4d
6 changed files with 55 additions and 49 deletions

View file

@ -24393,7 +24393,7 @@ void Player::LearnPetTalent(ObjectGuid petGuid, uint32 talentId, uint32 talentRa
void Player::UpdateFallInformationIfNeed(MovementInfo const& minfo, uint16 opcode) void Player::UpdateFallInformationIfNeed(MovementInfo const& minfo, uint16 opcode)
{ {
if (m_lastFallTime >= minfo.GetFallTime() || m_lastFallZ <= minfo.GetPos()->z || opcode == CMSG_MOVE_FALL_LAND) if (m_lastFallTime >= minfo.GetFallTime() || m_lastFallZ <= minfo.GetPos()->z || opcode == MSG_MOVE_FALL_LAND)
SetFallInformation(minfo.GetFallTime(), minfo.GetPos()->z); SetFallInformation(minfo.GetFallTime(), minfo.GetPos()->z);
} }

View file

@ -3328,7 +3328,9 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst(const Unit* pVictim, WeaponAttackT
bool from_behind = !pVictim->HasInArc(M_PI_F, this); bool from_behind = !pVictim->HasInArc(M_PI_F, this);
if (from_behind) if (from_behind)
{
DEBUG_FILTER_LOG(LOG_FILTER_COMBAT, "RollMeleeOutcomeAgainst: attack came from behind."); DEBUG_FILTER_LOG(LOG_FILTER_COMBAT, "RollMeleeOutcomeAgainst: attack came from behind.");
}
// Dodge chance // Dodge chance

View file

@ -274,7 +274,7 @@ void InitializeOpcodes()
//OPCODE(MSG_MOVE_TELEPORT_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); //OPCODE(MSG_MOVE_TELEPORT_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
OPCODE(CMSG_MOVE_TELEPORT_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveTeleportAckOpcode ); OPCODE(CMSG_MOVE_TELEPORT_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveTeleportAckOpcode );
//OPCODE(MSG_MOVE_TOGGLE_FALL_LOGGING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); //OPCODE(MSG_MOVE_TOGGLE_FALL_LOGGING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
OPCODE(CMSG_MOVE_FALL_LAND, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); OPCODE(MSG_MOVE_FALL_LAND, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
OPCODE(CMSG_MOVE_START_SWIM, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); OPCODE(CMSG_MOVE_START_SWIM, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
OPCODE(CMSG_MOVE_STOP_SWIM, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); OPCODE(CMSG_MOVE_STOP_SWIM, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
//OPCODE(MSG_MOVE_SET_RUN_SPEED_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); //OPCODE(MSG_MOVE_SET_RUN_SPEED_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );

View file

@ -267,7 +267,7 @@ enum Opcodes
MSG_MOVE_TELEPORT_CHEAT = 0x10C7, MSG_MOVE_TELEPORT_CHEAT = 0x10C7,
CMSG_MOVE_TELEPORT_ACK = 0x390C, // 4.3.4 15595 CMSG_MOVE_TELEPORT_ACK = 0x390C, // 4.3.4 15595
MSG_MOVE_TOGGLE_FALL_LOGGING = 0x10C9, MSG_MOVE_TOGGLE_FALL_LOGGING = 0x10C9,
CMSG_MOVE_FALL_LAND = 0x17E9, // 5.4.1 17538 MSG_MOVE_FALL_LAND = 0x08FA, // 5.4.8 18414
CMSG_MOVE_START_SWIM = 0x0FC8, // 5.4.1 17538 CMSG_MOVE_START_SWIM = 0x0FC8, // 5.4.1 17538
CMSG_MOVE_STOP_SWIM = 0x0FC9, // 5.4.1 17538 CMSG_MOVE_STOP_SWIM = 0x0FC9, // 5.4.1 17538
MSG_MOVE_SET_RUN_SPEED_CHEAT = 0x10CD, MSG_MOVE_SET_RUN_SPEED_CHEAT = 0x10CD,

View file

@ -345,7 +345,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). // fall damage generation (ignore in flight case that can be triggered also at lags in moment teleportation to another map).
if (opcode == CMSG_MOVE_FALL_LAND && plMover && !plMover->IsTaxiFlying()) if (opcode == MSG_MOVE_FALL_LAND && plMover && !plMover->IsTaxiFlying())
plMover->HandleFall(movementInfo); plMover->HandleFall(movementInfo);
/* process position-change */ /* process position-change */

View file

@ -182,71 +182,75 @@ MovementStatusElements PlayerMoveSequence[] =
MovementStatusElements MovementFallLandSequence[] = MovementStatusElements MovementFallLandSequence[] =
{ {
MSEPositionX,
MSEPositionY, MSEPositionY,
MSEPositionZ, MSEPositionZ,
MSEHasTransportData, MSEPositionX,
MSEGuidBit7,
MSEGuidBit1,
MSEHasMovementFlags2,
MSEGuidBit3,
MSEHasSplineElevation,
MSEHasOrientation,
MSEGuidBit6,
MSEHasTimestamp,
MSEHasUnknownBit,
MSEHasPitch,
MSEGuidBit4,
MSEHasSpline,
MSEGuidBit5,
MSEHasMovementFlags,
MSEHasFallData, MSEHasFallData,
MSEGuidBit0, MSEHasUnknownBit,
MSEHasUnknownBit,
MSEHasTimestamp,
MSEGuidBit7,
MSEHasUnknownBit,
MSEHasSplineElevation,
MSEGuidBit5,
MSEHasPitch,
MSEHasMovementFlags2,
MSEGuidBit2, MSEGuidBit2,
MSEGuidBit3,
MSEGuidBit0,
MSEHasOrientation,
MSECounterCount,
MSEHasMovementFlags,
MSEHasUnkTime,
MSEGuidBit1,
MSEHasTransportData,
MSEGuidBit6,
MSEGuidBit4,
MSETransportGuidBit0, MSETransportGuidBit0,
MSETransportGuidBit5,
MSETransportGuidBit3,
MSETransportGuidBit2,
MSEHasTransportTime3,
MSEHasTransportTime2, MSEHasTransportTime2,
MSETransportGuidBit6, MSETransportGuidBit3,
MSETransportGuidBit4, MSETransportGuidBit5,
MSETransportGuidBit1, MSETransportGuidBit1,
MSETransportGuidBit7, MSETransportGuidBit7,
MSETransportGuidBit4,
MSETransportGuidBit2,
MSETransportGuidBit6,
MSEHasTransportTime3,
MSEFlags2, MSEFlags2,
MSEFlags,
MSEHasFallDirection, MSEHasFallDirection,
MSEGuidByte1, MSEFlags,
MSEGuidByte7,
MSEGuidByte4, MSEGuidByte4,
MSEGuidByte3, MSEGuidByte3,
MSEGuidByte6, MSEGuidByte7,
MSEGuidByte0, MSEGuidByte0,
MSEGuidByte2, MSEGuidByte2,
MSEGuidByte5, MSEGuidByte5,
MSETransportTime, MSEGuidByte1,
MSETransportPositionZ, MSEGuidByte6,
MSETransportPositionY, MSEMovementCounter,
MSETransportPositionX, MSEFallSinAngle,
MSETransportGuidByte5, MSEFallHorizontalSpeed,
MSETransportTime3, MSEFallCosAngle,
MSETransportGuidByte1, MSEFallTime,
MSETransportSeat, MSEFallVerticalSpeed,
MSETransportTime2,
MSETransportGuidByte4, MSETransportGuidByte4,
MSETransportPositionY,
MSETransportPositionO, MSETransportPositionO,
MSETransportGuidByte0, MSETransportPositionZ,
MSETransportGuidByte7,
MSETransportGuidByte3, MSETransportGuidByte3,
MSETransportGuidByte6, MSETransportGuidByte6,
MSETransportTime2,
MSETransportGuidByte2, MSETransportGuidByte2,
MSEFallVerticalSpeed, MSETransportGuidByte1,
MSEFallTime, MSETransportGuidByte5,
MSEFallCosAngle, MSETransportTime3,
MSEFallHorizontalSpeed, MSETransportTime,
MSEFallSinAngle, MSETransportPositionX,
MSESplineElevation, MSETransportGuidByte7,
MSETransportGuidByte0,
MSEUnkTime,
MSETimestamp, MSETimestamp,
MSESplineElevation,
MSEPitch, MSEPitch,
MSEPositionO, MSEPositionO,
MSEEnd, MSEEnd,
@ -2580,7 +2584,7 @@ MovementStatusElements* GetMovementStatusElementsSequence(uint16 opcode)
return MovementCastSpellSequence; return MovementCastSpellSequence;
case CMSG_MOVE_CHNG_TRANSPORT: case CMSG_MOVE_CHNG_TRANSPORT:
return MovementChngTransportSequence; return MovementChngTransportSequence;
case CMSG_MOVE_FALL_LAND: case MSG_MOVE_FALL_LAND:
return MovementFallLandSequence; return MovementFallLandSequence;
case CMSG_MOVE_FALL_RESET: case CMSG_MOVE_FALL_RESET:
return MovementFallResetSequence; return MovementFallResetSequence;