Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
BattlePetPackets.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 BattlePetPackets_h__
7#define BattlePetPackets_h__
8
9#include "Common.h"
10#include "WorldPacket.h"
11#include "G3D/Vector3.h"
12
13#include <string>
14#include <vector>
15
16class BattlePet;
18
20{
36
38
48
50 {
52 bool HasAbilityID = false;
53 bool HasRoundID = false;
54 bool HasMoveType = false;
55 bool HasNewFrontPet = false;
57 bool HasDebugFlags = false;
64 };
65
74
83
95
100
102 {
104 bool Cancelled = false;
105 };
106
120
132
142
144 {
148 uint8 TrapStatus[2] = { 2, 2 };
149 std::vector<BattlePetRoundEffect> Effects;
150 std::vector<uint8> DeadPets;
151 std::vector<BattlePetRoundCooldown> Cooldowns;
152 };
153
162
164 {
171 bool SeenAction = false;
172 bool Captured = false;
173 bool Caged = false;
174 bool AwardedXP = false;
175 };
176
178 {
179 bool PvPBattle = false;
180 bool Winners[2] = { };
181 bool Abandoned = false;
183 std::vector<BattlePetFinalRoundPet> Pets;
184 };
185
193 BattlePetRoundEffect BuildDamageEffect(uint8 casterPet, uint8 targetPet, int32 remainingHealth,
194 uint32 abilityEffectId, uint16 turnInstanceId = 1);
195 BattlePetRoundEffect BuildCatchEffect(uint8 casterPet, uint8 targetPet, uint32 abilityEffectId,
196 bool captured, uint16 turnInstanceId = 1);
197 BattlePetRoundResult BuildDamageRoundResult(uint32 roundId, uint8 casterPet, uint8 targetPet,
198 int32 remainingHealth, uint32 abilityEffectId, bool targetDied);
202 BattlePetFinalRound BuildFinalRoundState(bool allyWon, bool abandoned,
203 std::vector<BattlePetFinalRoundPet> const& pets);
204 BattlePetFinalRound BuildFinalRoundState(bool allyWon, bool abandoned,
205 BattlePetFinalRoundPet const& allyPet, BattlePetFinalRoundPet const& enemyPet);
207 uint8 teamCount, bool isPvP = false);
208 WorldPacket BuildInitialUpdatePacket(ObjectGuid wildBattlePetGuid, InitialUpdatePetData const* teamPets,
209 uint8 teamPetCount, bool isPvP = false);
210 WorldPacket BuildInitialUpdatePacket(ObjectGuid wildBattlePetGuid, InitialUpdatePetData const& activePet,
211 bool isPvP = false);
212 WorldPacket BuildFirstRoundPacket(uint32 roundId, uint8 allyFrontPet, uint8 enemyFrontPet,
213 uint8 allyTrapStatus = 2, uint8 enemyTrapStatus = 2);
215 float CalculateBattlePetFacing(G3D::Vector3 const& origin, G3D::Vector3 const* positions);
216 float ResolveBattlePetFacing(bool hasClientOrientation, float clientOrientation,
217 G3D::Vector3 const& origin, G3D::Vector3 const* positions);
220 WorldPacket BuildFinalizeLocationPacket(G3D::Vector3 const& origin, G3D::Vector3 const* positions,
221 bool hasOrientation, float orientation, bool hasLocationResult, uint32 locationResult);
222 WorldPacket BuildPvpChallengePacket(ObjectGuid challengerGuid, G3D::Vector3 const& origin, G3D::Vector3 const* positions,
223 bool hasOrientation, float orientation, bool hasLocationResult, uint32 locationResult);
247
249
251 uint32 const* slotResults = NULL);
254}
255
256#endif // BattlePetPackets_h__
std::int32_t int32
Definition Define.h:73
std::uint8_t uint8
Definition Define.h:79
std::uint32_t uint32
Definition Define.h:77
std::int8_t int8
Definition Define.h:75
std::uint64_t uint64
Definition Define.h:76
std::uint16_t uint16
Definition Define.h:78
BattlePetRoundEffect BuildPetSwapEffect(uint8 casterPet, uint8 targetPet)
WorldPacket BuildQueueStatusPacket(ObjectGuid requesterGuid, uint32 status, uint32 const *slotResults)
WorldPacket BuildRequestFailedPacket(uint8 reason)
BattlePetInput ReadBattlePetInput(WorldPacket &data)
InitialUpdatePetData BuildInitialUpdatePetData(BattlePet const &battlePet)
BattlePetRoundResult BuildRoundResultFromTurn(ActivePetBattleTurn const &turn, uint32 abilityEffectId)
BattlePetFirstPetSelection ReadBattlePetFirstPetSelection(WorldPacket &data)
BattlePetInputCommand BuildBattlePetInputCommand(BattlePetInput const &input)
WorldPacket BuildFinalizeLocationPacket(G3D::Vector3 const &origin, G3D::Vector3 const *positions, bool hasOrientation, float orientation, bool hasLocationResult, uint32 locationResult)
BattlePetRequestUpdate ReadBattlePetRequestUpdate(WorldPacket &data)
WorldPacket BuildInitialUpdatePacket(ObjectGuid wildBattlePetGuid, InitialUpdateTeamData const *teams, uint8 teamCount, bool isPvP)
BattlePetRoundEffect BuildCatchEffect(uint8 casterPet, uint8 targetPet, uint32 abilityEffectId, bool captured, uint16 turnInstanceId)
WorldPacket BuildFinalRoundPacket(BattlePetFinalRound const &finalRound)
WorldPacket BuildPvpChallengePacket(ObjectGuid challengerGuid, G3D::Vector3 const &origin, G3D::Vector3 const *positions, bool hasOrientation, float orientation, bool hasLocationResult, uint32 locationResult)
WorldPacket BuildFirstRoundPacket(uint32 roundId, uint8 allyFrontPet, uint8 enemyFrontPet, uint8 allyTrapStatus, uint8 enemyTrapStatus)
InitialUpdatePetData BuildWildInitialUpdatePetData(uint64 id, uint16 speciesId, uint8 level, uint8 quality, uint8 breed)
BattlePetRoundEffect BuildDamageEffect(uint8 casterPet, uint8 targetPet, int32 remainingHealth, uint32 abilityEffectId, uint16 turnInstanceId)
WorldPacket BuildRoundResultPacket(BattlePetRoundResult const &round)
void AppendRoundCooldowns(BattlePetRoundResult &round, ActivePetBattleTurn const &turn)
float CalculateBattlePetFacing(G3D::Vector3 const &origin, G3D::Vector3 const *positions)
uint8 const INITIAL_UPDATE_MAX_TEAM_PETS
WorldPacket BuildQueueProposeMatchPacket()
BattlePetRoundResult BuildDamageRoundResult(uint32 roundId, uint8 casterPet, uint8 targetPet, int32 remainingHealth, uint32 abilityEffectId, bool targetDied)
BattlePetFinalRound BuildFinalRoundState(bool allyWon, bool abandoned, std::vector< BattlePetFinalRoundPet > const &pets)
void MarkRoundResultAsCatchOrKill(BattlePetRoundResult &round)
float ResolveBattlePetFacing(bool hasClientOrientation, float clientOrientation, G3D::Vector3 const &origin, G3D::Vector3 const *positions)
std::vector< BattlePetFinalRoundPet > Pets
std::vector< BattlePetRoundEffectTarget > Targets
std::vector< BattlePetRoundCooldown > Cooldowns
std::vector< BattlePetRoundEffect > Effects
InitialUpdatePetData Pets[INITIAL_UPDATE_MAX_TEAM_PETS]