f38ad4607e
Port From (https://github.com/TrinityCore/TrinityCore/commit/e59eef5432c7b70679d33f4911c88d0f7d75fd39)
87 lines
2.8 KiB
C#
87 lines
2.8 KiB
C#
// Copyright (c) CypherCore <http://github.com/CypherCore> All rights reserved.
|
|
// Licensed under the GNU GENERAL PUBLIC LICENSE. See LICENSE file in the project root for full license information.
|
|
|
|
using Game.Entities;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Game.Networking.Packets
|
|
{
|
|
struct SpellReducedReagent
|
|
{
|
|
public int ItemID;
|
|
public int Quantity;
|
|
|
|
public void Write(WorldPacket data)
|
|
{
|
|
data.WriteInt32(ItemID);
|
|
data.WriteInt32(Quantity);
|
|
}
|
|
}
|
|
|
|
class CraftingData
|
|
{
|
|
public int CraftingQualityID;
|
|
public float QualityProgress;
|
|
public int SkillLineAbilityID;
|
|
public int CraftingDataID;
|
|
public int Multicraft;
|
|
public int SkillFromReagents;
|
|
public int Skill;
|
|
public int CritBonusSkill;
|
|
public float field_1C;
|
|
public ulong field_20;
|
|
public bool IsCrit;
|
|
public bool field_29;
|
|
public bool field_2A;
|
|
public bool BonusCraft;
|
|
public List<SpellReducedReagent> ResourcesReturned = new();
|
|
public uint OperationID;
|
|
public ObjectGuid ItemGUID;
|
|
public int Quantity;
|
|
public ItemInstance OldItem = new();
|
|
public ItemInstance NewItem = new();
|
|
public int EnchantID;
|
|
public int ConcentrationCurrencyID;
|
|
public int ConcentrationSpent;
|
|
public int IngenuityRefund;
|
|
public bool HasIngenuityProc;
|
|
public bool ApplyConcentration;
|
|
|
|
public void Write(WorldPacket data)
|
|
{
|
|
data.WriteInt32(CraftingQualityID);
|
|
data.WriteFloat(QualityProgress);
|
|
data.WriteInt32(SkillLineAbilityID);
|
|
data.WriteInt32(CraftingDataID);
|
|
data.WriteInt32(Multicraft);
|
|
data.WriteInt32(SkillFromReagents);
|
|
data.WriteInt32(Skill);
|
|
data.WriteInt32(CritBonusSkill);
|
|
data.WriteFloat(field_1C);
|
|
data.WriteUInt64(field_20);
|
|
data.WriteInt32(ResourcesReturned.Count);
|
|
data.WriteUInt32(OperationID);
|
|
data.WritePackedGuid(ItemGUID);
|
|
data.WriteInt32(Quantity);
|
|
data.WriteInt32(EnchantID);
|
|
data.WriteInt32(ConcentrationCurrencyID);
|
|
data.WriteInt32(ConcentrationSpent);
|
|
data.WriteInt32(IngenuityRefund);
|
|
|
|
foreach (SpellReducedReagent spellReducedReagent in ResourcesReturned)
|
|
spellReducedReagent.Write(data);
|
|
|
|
data.WriteBit(IsCrit);
|
|
data.WriteBit(field_29);
|
|
data.WriteBit(field_2A);
|
|
data.WriteBit(BonusCraft);
|
|
data.WriteBit(HasIngenuityProc);
|
|
data.WriteBit(ApplyConcentration);
|
|
data.FlushBits();
|
|
|
|
OldItem.Write(data);
|
|
NewItem.Write(data);
|
|
}
|
|
}
|
|
}
|