@@ -22507,59 +22507,48 @@ void Player::SendInitialPacketsAfterAddToMap()
2250722507
2250822508 CastSpell(this, 836, true); // LOGINEFFECT
2250922509
22510- // set some aura effects that send packet to player client after add player to map
22511- // SendMessageToSet not send it to player not it map, only for aura that not changed anything at re-apply
22512- // same auras state lost at far teleport, send it one more time in this case also
22513- static const AuraType auratypes[] =
22514- {
22515- SPELL_AURA_TRANSFORM, SPELL_AURA_WATER_WALK,
22516- SPELL_AURA_FEATHER_FALL, SPELL_AURA_HOVER, SPELL_AURA_SAFE_FALL,
22517- SPELL_AURA_FLY, SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED, SPELL_AURA_NONE
22518- };
22519- for (AuraType const* itr = &auratypes[0]; itr && itr[0] != SPELL_AURA_NONE; ++itr)
22520- {
22521- Unit::AuraEffectList const& auraList = GetAuraEffectsByType(*itr);
22522- if (!auraList.empty())
22523- auraList.front()->HandleEffect(this, AURA_EFFECT_HANDLE_SEND_FOR_CLIENT, true);
22524- }
22525-
22526- if (HasAuraType(SPELL_AURA_MOD_STUN))
22527- SetRooted(true);
22528-
2252922510 WorldPacket setCompoundState(SMSG_MULTIPLE_MOVES, 100);
2253022511 setCompoundState << uint32(0); // size placeholder
2253122512
2253222513 // manual send package (have code in HandleEffect(this, AURA_EFFECT_HANDLE_SEND_FOR_CLIENT, true); that must not be re-applied.
22533- if (HasAuraType(SPELL_AURA_MOD_ROOT))
22514+ if (HasAuraType(SPELL_AURA_MOD_STUN) || HasAuraType( SPELL_AURA_MOD_ROOT))
2253422515 {
2253522516 setCompoundState << uint8(2 + GetPackGUID().size() + 4);
2253622517 setCompoundState << uint16(SMSG_FORCE_MOVE_ROOT);
2253722518 setCompoundState << GetPackGUID();
22538- setCompoundState << uint32(0); //! movement counter
22519+ setCompoundState << uint32(GetMovementCounterAndInc());
2253922520 }
2254022521
2254122522 if (HasAuraType(SPELL_AURA_FEATHER_FALL))
2254222523 {
2254322524 setCompoundState << uint8(2 + GetPackGUID().size() + 4);
2254422525 setCompoundState << uint16(SMSG_MOVE_FEATHER_FALL);
2254522526 setCompoundState << GetPackGUID();
22546- setCompoundState << uint32(0); //! movement counter0
22527+ setCompoundState << uint32(GetMovementCounterAndInc());
2254722528 }
2254822529
2254922530 if (HasAuraType(SPELL_AURA_WATER_WALK))
2255022531 {
2255122532 setCompoundState << uint8(2 + GetPackGUID().size() + 4);
2255222533 setCompoundState << uint16(SMSG_MOVE_WATER_WALK);
2255322534 setCompoundState << GetPackGUID();
22554- setCompoundState << uint32(0); //! movement counter0
22535+ setCompoundState << uint32(GetMovementCounterAndInc());
2255522536 }
2255622537
2255722538 if (HasAuraType(SPELL_AURA_HOVER))
2255822539 {
2255922540 setCompoundState << uint8(2 + GetPackGUID().size() + 4);
2256022541 setCompoundState << uint16(SMSG_MOVE_SET_HOVER);
2256122542 setCompoundState << GetPackGUID();
22562- setCompoundState << uint32(0); //! movement counter0
22543+ setCompoundState << uint32(GetMovementCounterAndInc());
22544+ }
22545+
22546+ if (HasAuraType(SPELL_AURA_FLY) || HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED))
22547+ {
22548+ setCompoundState << uint8(2 + GetPackGUID().size() + 4);
22549+ setCompoundState << uint16(SMSG_MOVE_SET_CAN_FLY);
22550+ setCompoundState << GetPackGUID();
22551+ setCompoundState << uint32(GetMovementCounterAndInc());
2256322552 }
2256422553
2256522554 if (setCompoundState.size() > 4)
0 commit comments