Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
PetTransportSupport.h
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#ifndef SKYFIRESERVER_PET_TRANSPORT_SUPPORT_H
7#define SKYFIRESERVER_PET_TRANSPORT_SUPPORT_H
8
9namespace Skyfire
10{
11namespace PetTransport
12{
14 {
15 float X;
16 float Y;
17 float Z;
18 float O;
19 };
20
21 bool ShouldMirrorOwnerPet(bool isHunterPet, bool isControlled, bool isAlive, bool ownerMatches);
22 bool IsPassengerOffsetWithinLimit(float x, float y, float z, float limit);
23 bool ShouldRefreshPetTransportOffset(bool petAlreadyOnOwnerTransport, bool petPassengerOffsetInvalid);
24 bool ShouldUseTransportLocalPetFollow(bool followerIsPet, bool targetIsOwner, bool followerHasTransport,
25 bool targetOnSameTransport, bool hasFollowOffset);
26 bool ShouldMoveTransportPetToFollowOffset(float currentX, float currentY, float currentZ,
27 float desiredX, float desiredY, float desiredZ, float tolerance);
28 bool ShouldResumePetFollowOnTransport(bool ownerHasTransport, bool petOnOwnerTransport, bool petInWorld);
29 bool ShouldClearMountedPetStunForTransport(bool ownerMounted, bool ownerHasTransport, bool petStunned);
30 bool ShouldSendTransportEnterSpline(bool petInWorld, bool petOnOwnerTransport, bool offsetRefreshed);
31 bool ShouldApplySplineGroundClamp(bool hasTransport, bool isCreature, bool isFalling);
32 bool ShouldTryBoardPetBeforeOwnerRangeRemoval(bool ownerHasTransport, bool petExists, bool petOnOwnerTransport);
33 bool ShouldRemovePetForOwnerRange(bool petExists, bool petPossessed, bool petOnOwnerTransport,
34 bool isWithinVisibilityRange, bool transportExitGraceActive = false);
35 bool ShouldTemporarilyUnsummonMountedPet(bool inBattleground, bool hasFlyingMountSpeedAura);
36 bool ShouldAttachHunterPetToOwnerTransport(bool ownerHasTransport, bool petIsHunterPet, bool petIsControlled,
37 bool petIsAlive, bool ownerMatches, bool sameMap);
38 bool ShouldReattachPetDuringOwnerTransportUpdate(bool ownerHasTransport, bool petIsHunterPet,
39 bool petIsControlled, bool petIsAlive, bool ownerMatches, bool petOnOwnerTransport);
40 bool ShouldPlacePetNearOwnerOnTransportExit(bool ownerStillOnTransport);
41
42 PassengerOffset CalculateFollowerPosition(float ownerX, float ownerY, float ownerZ, float ownerO,
43 float ownerObjectSize, float petObjectSize, float followDistance, float followAngle);
44}
45}
46
47#endif
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)