TrinityCore
Loading...
Searching...
No Matches
ScenarioPackets.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3
*
4
* This program is free software; you can redistribute it and/or modify it
5
* under the terms of the GNU General Public License as published by the
6
* Free Software Foundation; either version 2 of the License, or (at your
7
* option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
* more details.
13
*
14
* You should have received a copy of the GNU General Public License along
15
* with this program. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#include "
ScenarioPackets.h
"
19
#include "
PacketOperators.h
"
20
#include "
ScenarioMgr.h
"
21
22
namespace
WorldPackets::Scenario
23
{
24
ByteBuffer
&
operator<<
(
ByteBuffer
& data,
BonusObjectiveData
const
& bonusObjective)
25
{
26
data <<
int32
(bonusObjective.
BonusObjectiveID
);
27
data << Bits<1>(bonusObjective.
ObjectiveComplete
);
28
data.
FlushBits
();
29
30
return
data;
31
}
32
33
ByteBuffer
&
operator<<
(
ByteBuffer
& data,
ScenarioSpellUpdate
const
& spell)
34
{
35
data <<
uint32
(spell.
SpellID
);
36
data << Bits<1>(spell.
Usable
);
37
data.
FlushBits
();
38
39
return
data;
40
}
41
42
WorldPacket
const
*
ScenarioState::Write
()
43
{
44
_worldPacket
<<
ScenarioGUID
;
45
_worldPacket
<<
int32
(
ScenarioID
);
46
_worldPacket
<<
int32
(
CurrentStep
);
47
_worldPacket
<<
int16
(
DifficultyID
);
48
_worldPacket
<<
uint32
(
WaveCurrent
);
49
_worldPacket
<<
uint32
(
WaveMax
);
50
_worldPacket
<<
uint32
(
TimerDuration
);
51
_worldPacket << Size<uint32>(
CriteriaProgress
);
52
_worldPacket << Size<uint32>(
BonusObjectives
);
53
_worldPacket << Size<uint32>(
PickedSteps
);
54
_worldPacket << Size<uint32>(
Spells
);
55
_worldPacket
<<
PlayerGUID
;
56
57
if
(!
PickedSteps
.empty())
58
_worldPacket
.
append
(
PickedSteps
.data(),
PickedSteps
.size());
59
60
_worldPacket << Bits<1>(
ScenarioComplete
);
61
_worldPacket
.
FlushBits
();
62
63
for
(
Achievement::CriteriaProgress
const
& progress :
CriteriaProgress
)
64
_worldPacket
<< progress;
65
66
for
(
BonusObjectiveData
const
& bonusObjective :
BonusObjectives
)
67
_worldPacket
<< bonusObjective;
68
69
for
(
ScenarioSpellUpdate
const
& spell :
Spells
)
70
_worldPacket
<< spell;
71
72
return
&
_worldPacket
;
73
}
74
75
WorldPacket
const
*
ScenarioProgressUpdate::Write
()
76
{
77
_worldPacket
<<
CriteriaProgress
;
78
79
return
&
_worldPacket
;
80
}
81
82
WorldPacket
const
*
ScenarioCompleted::Write
()
83
{
84
_worldPacket
<<
uint32
(
ScenarioID
);
85
86
return
&
_worldPacket
;
87
}
88
89
WorldPacket
const
*
ScenarioVacate::Write
()
90
{
91
_worldPacket
<<
ScenarioGUID
;
92
_worldPacket
<<
int32
(
ScenarioID
);
93
_worldPacket
<<
int32
(
TimeRemain
);
94
_worldPacket << Bits<2>(
Reason
);
95
_worldPacket
.
FlushBits
();
96
97
return
&
_worldPacket
;
98
}
99
100
void
QueryScenarioPOI::Read
()
101
{
102
_worldPacket
>> Size<uint32>(
MissingScenarioPOIs
);
103
for
(
int32
& scenarioPOI :
MissingScenarioPOIs
)
104
_worldPacket
>> scenarioPOI;
105
}
106
107
WorldPacket
const
*
ScenarioPOIs::Write
()
108
{
109
_worldPacket << Size<uint32>(
ScenarioPOIDataStats
);
110
111
for
(
ScenarioPOIData
const
& scenarioPOIData :
ScenarioPOIDataStats
)
112
{
113
_worldPacket
<<
int32
(scenarioPOIData.CriteriaTreeID);
114
_worldPacket << Size<uint32>(*scenarioPOIData.ScenarioPOIs);
115
116
for
(
ScenarioPOI
const
& scenarioPOI : *scenarioPOIData.ScenarioPOIs)
117
{
118
_worldPacket
<<
int32
(scenarioPOI.BlobIndex);
119
_worldPacket
<<
int32
(scenarioPOI.MapID);
120
_worldPacket
<<
int32
(scenarioPOI.UiMapID);
121
_worldPacket
<<
int32
(scenarioPOI.Priority);
122
_worldPacket
<<
int32
(scenarioPOI.Flags);
123
_worldPacket
<<
int32
(scenarioPOI.WorldEffectID);
124
_worldPacket
<<
int32
(scenarioPOI.PlayerConditionID);
125
_worldPacket
<<
int32
(scenarioPOI.NavigationPlayerConditionID);
126
_worldPacket << Size<uint32>(scenarioPOI.Points);
127
128
for
(
ScenarioPOIPoint
const
& scenarioPOIBlobPoint : scenarioPOI.Points)
129
{
130
_worldPacket
<<
int32
(scenarioPOIBlobPoint.X);
131
_worldPacket
<<
int32
(scenarioPOIBlobPoint.Y);
132
_worldPacket
<<
int32
(scenarioPOIBlobPoint.Z);
133
}
134
}
135
}
136
137
return
&
_worldPacket
;
138
}
139
}
int16
int16_t int16
Definition
Define.h:151
int32
int32_t int32
Definition
Define.h:150
uint32
uint32_t uint32
Definition
Define.h:154
PacketOperators.h
Spells
Spells
Definition
PlayerAI.cpp:32
ScenarioMgr.h
ScenarioPackets.h
ByteBuffer
Definition
ByteBuffer.h:63
ByteBuffer::append
void append(T value)
Definition
ByteBuffer.h:130
ByteBuffer::FlushBits
void FlushBits()
Definition
ByteBuffer.h:141
WorldPacket
Definition
WorldPacket.h:26
WorldPackets::Packet::_worldPacket
WorldPacket _worldPacket
Definition
Packet.h:43
WorldPackets::Scenario::QueryScenarioPOI::MissingScenarioPOIs
Array< int32, MAX_ALLOWED_SCENARIO_POI_QUERY_SIZE > MissingScenarioPOIs
Definition
ScenarioPackets.h:105
WorldPackets::Scenario::QueryScenarioPOI::Read
void Read() override
Definition
ScenarioPackets.cpp:100
WorldPackets::Scenario::ScenarioCompleted::Write
WorldPacket const * Write() override
Definition
ScenarioPackets.cpp:82
WorldPackets::Scenario::ScenarioCompleted::ScenarioID
uint32 ScenarioID
Definition
ScenarioPackets.h:82
WorldPackets::Scenario::ScenarioPOIs::Write
WorldPacket const * Write() override
Definition
ScenarioPackets.cpp:107
WorldPackets::Scenario::ScenarioPOIs::ScenarioPOIDataStats
std::vector< ScenarioPOIData > ScenarioPOIDataStats
Definition
ScenarioPackets.h:121
WorldPackets::Scenario::ScenarioProgressUpdate::CriteriaProgress
Achievement::CriteriaProgress CriteriaProgress
Definition
ScenarioPackets.h:72
WorldPackets::Scenario::ScenarioProgressUpdate::Write
WorldPacket const * Write() override
Definition
ScenarioPackets.cpp:75
WorldPackets::Scenario::ScenarioState::ScenarioID
int32 ScenarioID
Definition
ScenarioPackets.h:51
WorldPackets::Scenario::ScenarioState::PickedSteps
std::vector< uint32 > PickedSteps
Definition
ScenarioPackets.h:60
WorldPackets::Scenario::ScenarioState::ScenarioGUID
ObjectGuid ScenarioGUID
Definition
ScenarioPackets.h:50
WorldPackets::Scenario::ScenarioState::CriteriaProgress
std::vector< Achievement::CriteriaProgress > CriteriaProgress
Definition
ScenarioPackets.h:58
WorldPackets::Scenario::ScenarioState::CurrentStep
int32 CurrentStep
Definition
ScenarioPackets.h:52
WorldPackets::Scenario::ScenarioState::PlayerGUID
ObjectGuid PlayerGUID
Definition
ScenarioPackets.h:62
WorldPackets::Scenario::ScenarioState::ScenarioComplete
bool ScenarioComplete
Definition
ScenarioPackets.h:53
WorldPackets::Scenario::ScenarioState::Write
WorldPacket const * Write() override
Definition
ScenarioPackets.cpp:42
WorldPackets::Scenario::ScenarioState::BonusObjectives
std::vector< BonusObjectiveData > BonusObjectives
Definition
ScenarioPackets.h:59
WorldPackets::Scenario::ScenarioState::DifficultyID
int16 DifficultyID
Definition
ScenarioPackets.h:54
WorldPackets::Scenario::ScenarioState::WaveCurrent
uint32 WaveCurrent
Definition
ScenarioPackets.h:55
WorldPackets::Scenario::ScenarioState::TimerDuration
uint32 TimerDuration
Definition
ScenarioPackets.h:57
WorldPackets::Scenario::ScenarioState::WaveMax
uint32 WaveMax
Definition
ScenarioPackets.h:56
WorldPackets::Scenario::ScenarioState::Spells
std::vector< ScenarioSpellUpdate > Spells
Definition
ScenarioPackets.h:61
WorldPackets::Scenario::ScenarioVacate::ScenarioGUID
ObjectGuid ScenarioGUID
Definition
ScenarioPackets.h:92
WorldPackets::Scenario::ScenarioVacate::TimeRemain
int32 TimeRemain
Definition
ScenarioPackets.h:94
WorldPackets::Scenario::ScenarioVacate::ScenarioID
int32 ScenarioID
Definition
ScenarioPackets.h:93
WorldPackets::Scenario::ScenarioVacate::Reason
uint8 Reason
Definition
ScenarioPackets.h:95
WorldPackets::Scenario::ScenarioVacate::Write
WorldPacket const * Write() override
Definition
ScenarioPackets.cpp:89
WorldPackets::Scenario
Definition
Scenario.h:38
WorldPackets::Scenario::operator<<
ByteBuffer & operator<<(ByteBuffer &data, BonusObjectiveData const &bonusObjective)
Definition
ScenarioPackets.cpp:24
CriteriaProgress
Definition
CriteriaHandler.h:80
ScenarioPOIPoint
Definition
ScenarioMgr.h:66
ScenarioPOI
Definition
ScenarioMgr.h:76
WorldPackets::Achievement::CriteriaProgress
Definition
AchievementPackets.h:41
WorldPackets::Scenario::BonusObjectiveData
Definition
ScenarioPackets.h:32
WorldPackets::Scenario::BonusObjectiveData::ObjectiveComplete
bool ObjectiveComplete
Definition
ScenarioPackets.h:34
WorldPackets::Scenario::BonusObjectiveData::BonusObjectiveID
int32 BonusObjectiveID
Definition
ScenarioPackets.h:33
WorldPackets::Scenario::ScenarioPOIData
Definition
ScenarioPackets.h:109
WorldPackets::Scenario::ScenarioSpellUpdate
Definition
ScenarioPackets.h:38
WorldPackets::Scenario::ScenarioSpellUpdate::SpellID
uint32 SpellID
Definition
ScenarioPackets.h:39
WorldPackets::Scenario::ScenarioSpellUpdate::Usable
bool Usable
Definition
ScenarioPackets.h:40
server
game
Server
Packets
ScenarioPackets.cpp
Generated on Sun May 10 2026 02:09:02 for TrinityCore by
1.9.8