6#ifndef SKYFIRESERVER_PET_TRANSPORT_SUPPORT_H
7#define SKYFIRESERVER_PET_TRANSPORT_SUPPORT_H
25 bool targetOnSameTransport,
bool hasFollowOffset);
27 float desiredX,
float desiredY,
float desiredZ,
float tolerance);
34 bool isWithinVisibilityRange,
bool transportExitGraceActive =
false);
37 bool petIsAlive,
bool ownerMatches,
bool sameMap);
39 bool petIsControlled,
bool petIsAlive,
bool ownerMatches,
bool petOnOwnerTransport);
43 float ownerObjectSize,
float petObjectSize,
float followDistance,
float followAngle);
bool ShouldResumePetFollowOnTransport(bool ownerHasTransport, bool petOnOwnerTransport, bool petInWorld)
bool ShouldTemporarilyUnsummonMountedPet(bool inBattleground, bool hasFlyingMountSpeedAura)
bool ShouldApplySplineGroundClamp(bool hasTransport, bool isCreature, bool isFalling)
bool ShouldRefreshPetTransportOffset(bool petAlreadyOnOwnerTransport, bool petPassengerOffsetInvalid)
bool ShouldPlacePetNearOwnerOnTransportExit(bool ownerStillOnTransport)
bool ShouldRemovePetForOwnerRange(bool petExists, bool petPossessed, bool petOnOwnerTransport, bool isWithinVisibilityRange, bool transportExitGraceActive)
bool ShouldMoveTransportPetToFollowOffset(float currentX, float currentY, float currentZ, float desiredX, float desiredY, float desiredZ, float tolerance)
PassengerOffset CalculateFollowerPosition(float ownerX, float ownerY, float ownerZ, float ownerO, float ownerObjectSize, float petObjectSize, float followDistance, float followAngle)
bool ShouldTryBoardPetBeforeOwnerRangeRemoval(bool ownerHasTransport, bool petExists, bool petOnOwnerTransport)
bool ShouldSendTransportEnterSpline(bool petInWorld, bool petOnOwnerTransport, bool offsetRefreshed)
bool ShouldReattachPetDuringOwnerTransportUpdate(bool ownerHasTransport, bool petIsHunterPet, bool petIsControlled, bool petIsAlive, bool ownerMatches, bool petOnOwnerTransport)
bool ShouldMirrorOwnerPet(bool isHunterPet, bool isControlled, bool isAlive, bool ownerMatches)
bool IsPassengerOffsetWithinLimit(float x, float y, float z, float limit)
bool ShouldAttachHunterPetToOwnerTransport(bool ownerHasTransport, bool petIsHunterPet, bool petIsControlled, bool petIsAlive, bool ownerMatches, bool sameMap)
bool ShouldClearMountedPetStunForTransport(bool ownerMounted, bool ownerHasTransport, bool petStunned)
bool ShouldUseTransportLocalPetFollow(bool followerIsPet, bool targetIsOwner, bool followerHasTransport, bool targetOnSameTransport, bool hasFollowOffset)