When the pet is dead, it never runs any checks to remove the pet stats which is why you have to wait before jumping again.
Code:
CAIPet::MoveProcessIdle( const AIMSG & msg )
Code:
if( pMover->IsDie() || (pMover->m_pActMover->GetState() & OBJSTA_DMG_FLY_ALL) )
return FALSE;
if( NotOwnedPetInactivated() )
^ Something is wrong there.
Now, when this is called, look what would happen
Code:
CAIPet::NotOwnedPetInactivated
Code:
if( pOwner->IsDie() )
{
pOwner->InactivateEatPet();
return TRUE;
}
If you can't figure it out, too bad.
So now given two snippets, the idea of fixing this is hilariously simple which still has me shocked that I can run around on official servers with 9k + on all my stats 1v1-ing dungeons on a ringmaster.