Core/Creatures: Implemented unsummoning and resummoning critter pets on flying mounts and teleports (and related static flags)

This commit is contained in:
Shauren
2024-03-02 15:06:33 +01:00
parent bd8cc0e572
commit f2ce5072d6
6 changed files with 48 additions and 4 deletions

View File

@@ -234,6 +234,7 @@ void WorldSession::HandleMoveWorldportAck()
// resummon pet
player->ResummonPetTemporaryUnSummonedIfAny();
player->ResummonBattlePetTemporaryUnSummonedIfAny();
//lets process all delayed operations on successful teleport
player->ProcessDelayedOperations();
@@ -402,7 +403,10 @@ void WorldSession::HandleMovementOpcode(OpcodeClient opcode, MovementInfo& movem
mover->RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags::LandingOrFlight); // Parachutes
if (opcode == CMSG_MOVE_SET_FLY || opcode == CMSG_MOVE_SET_ADV_FLY)
{
_player->UnsummonPetTemporaryIfAny(); // always do the pet removal on current client activeplayer only
_player->UnsummonBattlePetTemporaryIfAny(true);
}
/* process position-change */
movementInfo.guid = mover->GetGUID();