TrinityCore
Loading...
Searching...
No Matches
CraftingPacketsCommon.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 "
CraftingPacketsCommon.h
"
19
#include "
PacketOperators.h
"
20
21
namespace
WorldPackets::Crafting
22
{
23
ByteBuffer
&
operator>>
(
ByteBuffer
& data,
CraftingReagentBase
& reagent)
24
{
25
data.
ResetBitPos
();
26
data >>
OptionalInit
(reagent.
ItemID
);
27
data >>
OptionalInit
(reagent.
CurrencyID
);
28
29
if
(reagent.
ItemID
)
30
data >> *reagent.
ItemID
;
31
32
if
(reagent.
CurrencyID
)
33
data >> *reagent.
CurrencyID
;
34
35
return
data;
36
}
37
38
ByteBuffer
&
operator<<
(
ByteBuffer
& data,
CraftingReagentBase
const
& reagent)
39
{
40
data <<
OptionalInit
(reagent.
ItemID
);
41
data <<
OptionalInit
(reagent.
CurrencyID
);
42
data.
FlushBits
();
43
44
if
(reagent.
ItemID
)
45
data <<
int32
(*reagent.
ItemID
);
46
47
if
(reagent.
CurrencyID
)
48
data <<
int32
(*reagent.
CurrencyID
);
49
50
return
data;
51
}
52
53
ByteBuffer
&
operator<<
(
ByteBuffer
& data,
SpellReducedReagent
const
& spellReducedReagent)
54
{
55
data <<
int32
(spellReducedReagent.
Quantity
);
56
data << spellReducedReagent.
Reagent
;
57
58
return
data;
59
}
60
61
ByteBuffer
&
operator<<
(
ByteBuffer
& data,
CraftingData
const
& craftingData)
62
{
63
data <<
int32
(craftingData.
CraftingQualityID
);
64
data << float(craftingData.
QualityProgress
);
65
data <<
int32
(craftingData.
SkillLineAbilityID
);
66
data <<
int32
(craftingData.
CraftingDataID
);
67
data <<
int32
(craftingData.
Multicraft
);
68
data <<
int32
(craftingData.
SkillFromReagents
);
69
data <<
int32
(craftingData.
Skill
);
70
data <<
int32
(craftingData.
CritBonusSkill
);
71
data << float(craftingData.
ModSkillGain
);
72
data <<
uint64
(craftingData.
OrderID
);
73
data << Size<uint32>(craftingData.
ResourcesReturned
);
74
data <<
uint32
(craftingData.
OperationID
);
75
data << craftingData.
ItemGUID
;
76
data <<
int32
(craftingData.
Quantity
);
77
data <<
int32
(craftingData.
EnchantID
);
78
data <<
int32
(craftingData.
ConcentrationCurrencyID
);
79
data <<
int32
(craftingData.
ConcentrationSpent
);
80
data <<
int32
(craftingData.
IngenuityRefund
);
81
82
data << Bits<1>(craftingData.
IsCrit
);
83
data << Bits<1>(craftingData.
IsRecraft
);
84
data << Bits<1>(craftingData.
IsInitialRecraft
);
85
data << Bits<1>(craftingData.
IsFirstCraft
);
86
data << Bits<1>(craftingData.
HasIngenuityProc
);
87
data << Bits<1>(craftingData.
ApplyConcentration
);
88
data.
FlushBits
();
89
90
data << craftingData.
OldItem
;
91
data << craftingData.
NewItem
;
92
93
for
(
SpellReducedReagent
const
& spellReducedReagent : craftingData.
ResourcesReturned
)
94
data << spellReducedReagent;
95
96
return
data;
97
}
98
}
CraftingPacketsCommon.h
int32
int32_t int32
Definition
Define.h:150
uint64
uint64_t uint64
Definition
Define.h:153
uint32
uint32_t uint32
Definition
Define.h:154
PacketOperators.h
ByteBuffer
Definition
ByteBuffer.h:63
ByteBuffer::ResetBitPos
void ResetBitPos()
Definition
ByteBuffer.h:152
ByteBuffer::FlushBits
void FlushBits()
Definition
ByteBuffer.h:141
WorldPackets::Crafting
Definition
CraftingPacketsCommon.cpp:22
WorldPackets::Crafting::operator<<
ByteBuffer & operator<<(ByteBuffer &data, CraftingReagentBase const &reagent)
Definition
CraftingPacketsCommon.cpp:38
WorldPackets::Crafting::operator>>
ByteBuffer & operator>>(ByteBuffer &data, CraftingReagentBase &reagent)
Definition
CraftingPacketsCommon.cpp:23
WorldPackets::OptionalInit
OptionalInitWriter< T > OptionalInit(Optional< T > const &value)
Definition
PacketOperators.h:100
WorldPackets::Crafting::CraftingData
Definition
CraftingPacketsCommon.h:39
WorldPackets::Crafting::CraftingData::Quantity
int32 Quantity
Definition
CraftingPacketsCommon.h:57
WorldPackets::Crafting::CraftingData::OldItem
Item::ItemInstance OldItem
Definition
CraftingPacketsCommon.h:58
WorldPackets::Crafting::CraftingData::Multicraft
int32 Multicraft
Definition
CraftingPacketsCommon.h:44
WorldPackets::Crafting::CraftingData::IsCrit
bool IsCrit
Definition
CraftingPacketsCommon.h:50
WorldPackets::Crafting::CraftingData::SkillFromReagents
int32 SkillFromReagents
Definition
CraftingPacketsCommon.h:45
WorldPackets::Crafting::CraftingData::EnchantID
int32 EnchantID
Definition
CraftingPacketsCommon.h:60
WorldPackets::Crafting::CraftingData::CritBonusSkill
int32 CritBonusSkill
Definition
CraftingPacketsCommon.h:47
WorldPackets::Crafting::CraftingData::ItemGUID
ObjectGuid ItemGUID
Definition
CraftingPacketsCommon.h:56
WorldPackets::Crafting::CraftingData::IsInitialRecraft
bool IsInitialRecraft
Definition
CraftingPacketsCommon.h:52
WorldPackets::Crafting::CraftingData::OperationID
uint32 OperationID
Definition
CraftingPacketsCommon.h:55
WorldPackets::Crafting::CraftingData::CraftingQualityID
int32 CraftingQualityID
Definition
CraftingPacketsCommon.h:40
WorldPackets::Crafting::CraftingData::ResourcesReturned
std::vector< SpellReducedReagent > ResourcesReturned
Definition
CraftingPacketsCommon.h:54
WorldPackets::Crafting::CraftingData::IsRecraft
bool IsRecraft
Definition
CraftingPacketsCommon.h:51
WorldPackets::Crafting::CraftingData::QualityProgress
float QualityProgress
Definition
CraftingPacketsCommon.h:41
WorldPackets::Crafting::CraftingData::IngenuityRefund
int32 IngenuityRefund
Definition
CraftingPacketsCommon.h:63
WorldPackets::Crafting::CraftingData::ConcentrationSpent
int32 ConcentrationSpent
Definition
CraftingPacketsCommon.h:62
WorldPackets::Crafting::CraftingData::NewItem
Item::ItemInstance NewItem
Definition
CraftingPacketsCommon.h:59
WorldPackets::Crafting::CraftingData::ConcentrationCurrencyID
int32 ConcentrationCurrencyID
Definition
CraftingPacketsCommon.h:61
WorldPackets::Crafting::CraftingData::ApplyConcentration
bool ApplyConcentration
Definition
CraftingPacketsCommon.h:65
WorldPackets::Crafting::CraftingData::IsFirstCraft
bool IsFirstCraft
Definition
CraftingPacketsCommon.h:53
WorldPackets::Crafting::CraftingData::SkillLineAbilityID
int32 SkillLineAbilityID
Definition
CraftingPacketsCommon.h:42
WorldPackets::Crafting::CraftingData::ModSkillGain
float ModSkillGain
Definition
CraftingPacketsCommon.h:48
WorldPackets::Crafting::CraftingData::OrderID
uint64 OrderID
Definition
CraftingPacketsCommon.h:49
WorldPackets::Crafting::CraftingData::HasIngenuityProc
bool HasIngenuityProc
Definition
CraftingPacketsCommon.h:64
WorldPackets::Crafting::CraftingData::CraftingDataID
int32 CraftingDataID
Definition
CraftingPacketsCommon.h:43
WorldPackets::Crafting::CraftingData::Skill
int32 Skill
Definition
CraftingPacketsCommon.h:46
WorldPackets::Crafting::CraftingReagentBase
Definition
CraftingPacketsCommon.h:27
WorldPackets::Crafting::CraftingReagentBase::CurrencyID
Optional< int32 > CurrencyID
Definition
CraftingPacketsCommon.h:29
WorldPackets::Crafting::CraftingReagentBase::ItemID
Optional< int32 > ItemID
Definition
CraftingPacketsCommon.h:28
WorldPackets::Crafting::SpellReducedReagent
Definition
CraftingPacketsCommon.h:33
WorldPackets::Crafting::SpellReducedReagent::Quantity
int32 Quantity
Definition
CraftingPacketsCommon.h:35
WorldPackets::Crafting::SpellReducedReagent::Reagent
CraftingReagentBase Reagent
Definition
CraftingPacketsCommon.h:34
server
game
Server
Packets
CraftingPacketsCommon.cpp
Generated on Sun May 10 2026 02:09:01 for TrinityCore by
1.9.8