Update ItemQuerySingleResponseOpcode to 3.3.3a.
This commit is contained in:
parent
f9bf453483
commit
cbd864f65c
@ -780,7 +780,8 @@ DefReturnResult DefScriptPackage::SCGetItemProtoValue(CmdSet& Set)
|
||||
else if(t=="lockid") r.ret=toString(proto->LockID);
|
||||
else if(t=="material") r.ret=toString(proto->Material);
|
||||
else if(t=="sheath") r.ret=toString(proto->Sheath);
|
||||
else if(t=="extra") r.ret=toString(proto->Extra);
|
||||
else if(t=="randomprop") r.ret=toString(proto->RandomProperty);
|
||||
else if(t=="randomsuffix") r.ret=toString(proto->RandomSuffix);
|
||||
else if(t=="block") r.ret=toString(proto->Block);
|
||||
else if(t=="itemset") r.ret=toString(proto->ItemSet);
|
||||
else if(t=="maxdur") r.ret=toString(proto->MaxDurability);
|
||||
|
||||
@ -180,6 +180,7 @@ void ItemProtoCache_InsertDataToSession(WorldSession *session)
|
||||
buf >> proto->DisplayInfoID;
|
||||
buf >> proto->Quality;
|
||||
buf >> proto->Flags;
|
||||
buf >> proto->Faction;
|
||||
buf >> proto->BuyPrice;
|
||||
buf >> proto->SellPrice;
|
||||
buf >> proto->InventoryType;
|
||||
@ -240,8 +241,8 @@ void ItemProtoCache_InsertDataToSession(WorldSession *session)
|
||||
buf >> proto->LockID;
|
||||
buf >> proto->Material;
|
||||
buf >> proto->Sheath;
|
||||
buf >> proto->Extra;
|
||||
buf >> proto->Unk1; // added in 2.0.3
|
||||
buf >> proto->RandomProperty;
|
||||
buf >> proto->RandomSuffix; // added in 2.0.3
|
||||
buf >> proto->Block;
|
||||
buf >> proto->ItemSet;
|
||||
buf >> proto->MaxDurability;
|
||||
@ -256,8 +257,6 @@ void ItemProtoCache_InsertDataToSession(WorldSession *session)
|
||||
}
|
||||
buf >> proto->socketBonus;
|
||||
buf >> proto->GemProperties;
|
||||
buf >> proto->ExtendedCost;
|
||||
buf >> proto->RequiredArenaRank;
|
||||
buf >> proto->RequiredDisenchantSkill;
|
||||
buf >> proto->ArmorDamageModifier;
|
||||
buf >> proto->Duration;
|
||||
@ -315,6 +314,7 @@ void ItemProtoCache_WriteDataToCache(WorldSession *session)
|
||||
buf << proto->DisplayInfoID;
|
||||
buf << proto->Quality;
|
||||
buf << proto->Flags;
|
||||
buf << proto->Faction;
|
||||
buf << proto->BuyPrice;
|
||||
buf << proto->SellPrice;
|
||||
buf << proto->InventoryType;
|
||||
@ -375,8 +375,8 @@ void ItemProtoCache_WriteDataToCache(WorldSession *session)
|
||||
buf << proto->LockID;
|
||||
buf << proto->Material;
|
||||
buf << proto->Sheath;
|
||||
buf << proto->Extra;
|
||||
buf << proto->Unk1; // added in 2.0.3
|
||||
buf << proto->RandomProperty;
|
||||
buf << proto->RandomSuffix; // added in 2.0.3
|
||||
buf << proto->Block;
|
||||
buf << proto->ItemSet;
|
||||
buf << proto->MaxDurability;
|
||||
@ -391,8 +391,6 @@ void ItemProtoCache_WriteDataToCache(WorldSession *session)
|
||||
}
|
||||
buf << proto->socketBonus;
|
||||
buf << proto->GemProperties;
|
||||
buf << proto->ExtendedCost;
|
||||
buf << proto->RequiredArenaRank;
|
||||
buf << proto->RequiredDisenchantSkill;
|
||||
buf << proto->ArmorDamageModifier;
|
||||
buf << proto->Duration;
|
||||
|
||||
@ -7,7 +7,8 @@
|
||||
void WorldSession::_HandleItemQuerySingleResponseOpcode(WorldPacket& recvPacket)
|
||||
{
|
||||
uint32 ItemID;
|
||||
uint32 unk;
|
||||
uint32 unk;
|
||||
uint8 unk8;
|
||||
std::string s;
|
||||
|
||||
recvPacket >> ItemID;
|
||||
@ -19,10 +20,13 @@ void WorldSession::_HandleItemQuerySingleResponseOpcode(WorldPacket& recvPacket)
|
||||
recvPacket >> proto->SubClass;
|
||||
recvPacket >> unk; // dont need that value?
|
||||
recvPacket >> proto->Name;
|
||||
recvPacket >> s >> s >> s; // strip name2-4
|
||||
recvPacket >> unk8;
|
||||
recvPacket >> unk8;
|
||||
recvPacket >> unk8; // strip name2-4
|
||||
recvPacket >> proto->DisplayInfoID;
|
||||
recvPacket >> proto->Quality;
|
||||
recvPacket >> proto->Flags;
|
||||
recvPacket >> proto->Faction; // 3.2 faction?
|
||||
recvPacket >> proto->BuyPrice;
|
||||
recvPacket >> proto->SellPrice;
|
||||
recvPacket >> proto->InventoryType;
|
||||
@ -54,6 +58,8 @@ void WorldSession::_HandleItemQuerySingleResponseOpcode(WorldPacket& recvPacket)
|
||||
recvPacket >> proto->Damage[i].DamageMax;
|
||||
recvPacket >> proto->Damage[i].DamageType;
|
||||
}
|
||||
|
||||
// resistances (7)
|
||||
recvPacket >> proto->Armor;
|
||||
recvPacket >> proto->HolyRes;
|
||||
recvPacket >> proto->FireRes;
|
||||
@ -61,11 +67,12 @@ void WorldSession::_HandleItemQuerySingleResponseOpcode(WorldPacket& recvPacket)
|
||||
recvPacket >> proto->FrostRes;
|
||||
recvPacket >> proto->ShadowRes;
|
||||
recvPacket >> proto->ArcaneRes;
|
||||
|
||||
recvPacket >> proto->Delay;
|
||||
recvPacket >> proto->Ammo_type;
|
||||
|
||||
recvPacket >> proto->RangedModRange;
|
||||
for(int s = 0; s < 5; s++)
|
||||
|
||||
for(int s = 0; s < MAX_ITEM_PROTO_SPELLS; s++)
|
||||
{
|
||||
recvPacket >> proto->Spells[s].SpellId;
|
||||
recvPacket >> proto->Spells[s].SpellTrigger;
|
||||
@ -83,7 +90,8 @@ void WorldSession::_HandleItemQuerySingleResponseOpcode(WorldPacket& recvPacket)
|
||||
recvPacket >> proto->LockID;
|
||||
recvPacket >> proto->Material;
|
||||
recvPacket >> proto->Sheath;
|
||||
recvPacket >> proto->Extra;
|
||||
recvPacket >> proto->RandomProperty;
|
||||
recvPacket >> proto->RandomSuffix;
|
||||
recvPacket >> proto->Block;
|
||||
recvPacket >> proto->ItemSet;
|
||||
recvPacket >> proto->MaxDurability;
|
||||
@ -91,14 +99,13 @@ void WorldSession::_HandleItemQuerySingleResponseOpcode(WorldPacket& recvPacket)
|
||||
recvPacket >> proto->Map;
|
||||
recvPacket >> proto->BagFamily;
|
||||
recvPacket >> proto->TotemCategory; // Added in 1.12.x client branch
|
||||
for(uint32 s = 0; s < 3; s++)
|
||||
for(uint32 s = 0; s < MAX_ITEM_PROTO_SOCKETS; s++)
|
||||
{
|
||||
recvPacket >> proto->Socket[s].Color;
|
||||
recvPacket >> proto->Socket[s].Content;
|
||||
}
|
||||
recvPacket >> proto->socketBonus;
|
||||
recvPacket >> proto->GemProperties;
|
||||
recvPacket >> proto->ExtendedCost;
|
||||
recvPacket >> proto->RequiredDisenchantSkill;
|
||||
recvPacket >> proto->ArmorDamageModifier;
|
||||
recvPacket >> proto->Duration;
|
||||
|
||||
@ -327,7 +327,10 @@ enum ITEM_SUBCLASS_QUIVER
|
||||
ITEM_SUBCLASS_AMMO_POUCH = 3
|
||||
};
|
||||
|
||||
#define MAX_ITEM_PROTO_DAMAGES 2
|
||||
#define MAX_ITEM_PROTO_DAMAGES 2 // changed in 3.1.0
|
||||
#define MAX_ITEM_PROTO_SOCKETS 3
|
||||
#define MAX_ITEM_PROTO_SPELLS 5
|
||||
#define MAX_ITEM_PROTO_STATS 10
|
||||
|
||||
struct _ItemStat
|
||||
{
|
||||
@ -370,6 +373,7 @@ struct ItemProto
|
||||
uint32 DisplayInfoID;
|
||||
uint32 Quality;
|
||||
uint32 Flags;
|
||||
uint32 Faction;
|
||||
uint32 BuyCount;
|
||||
uint32 BuyPrice;
|
||||
uint32 SellPrice;
|
||||
@ -389,10 +393,10 @@ struct ItemProto
|
||||
uint32 Stackable;
|
||||
uint32 ContainerSlots;
|
||||
uint32 StatsCount;
|
||||
_ItemStat ItemStat[10];
|
||||
_ItemStat ItemStat[MAX_ITEM_PROTO_STATS];
|
||||
uint32 ScalingStatDistribution; // id from ScalingStatDistribution.dbc
|
||||
uint32 ScalingStatValue; // mask for selecting column in ScalingStatValues.dbc
|
||||
_ItemDamage Damage[5];
|
||||
_ItemDamage Damage[MAX_ITEM_PROTO_DAMAGES];
|
||||
uint32 Armor;
|
||||
uint32 HolyRes;
|
||||
uint32 FireRes;
|
||||
@ -403,7 +407,7 @@ struct ItemProto
|
||||
uint32 Delay;
|
||||
uint32 Ammo_type;
|
||||
float RangedModRange;
|
||||
_ItemSpell Spells[5];
|
||||
_ItemSpell Spells[MAX_ITEM_PROTO_SPELLS];
|
||||
uint32 Bonding;
|
||||
std::string Description;
|
||||
uint32 PageText;
|
||||
@ -413,7 +417,8 @@ struct ItemProto
|
||||
uint32 LockID;
|
||||
uint32 Material;
|
||||
uint32 Sheath;
|
||||
uint32 Extra;
|
||||
uint32 RandomProperty;
|
||||
uint32 RandomSuffix;
|
||||
uint32 Unk1;
|
||||
uint32 Block;
|
||||
uint32 ItemSet;
|
||||
@ -422,10 +427,9 @@ struct ItemProto
|
||||
uint32 Map;
|
||||
uint32 BagFamily;
|
||||
uint32 TotemCategory;
|
||||
_ItemSocket Socket[3];
|
||||
_ItemSocket Socket[MAX_ITEM_PROTO_SOCKETS];
|
||||
uint32 socketBonus;
|
||||
uint32 GemProperties;
|
||||
uint32 ExtendedCost;
|
||||
uint32 RequiredArenaRank;
|
||||
uint32 RequiredDisenchantSkill;
|
||||
float ArmorDamageModifier;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user