1
0

Add support for creator name and fix packet to send data

This commit is contained in:
Emagi 2024-12-07 11:09:14 -05:00
parent 4d98819f35
commit bed7d8ae5d
3 changed files with 13 additions and 7 deletions

View File

@ -1,6 +1,7 @@
<EQ2Emulator>
<Struct Name="Substruct_BaseItemDescription" ClientVersion="1" >
<Data ElementName="unknownblah" Type="int8" Size="3" />
<Data ElementName="creator_flag" Type="int8" Size="1" />
<Data ElementName="creator" Type="EQ2_16Bit_String" Size="1" />
<Data ElementName="unique_id" Type="int32" Size="1" />
<Data ElementName="icon" Type="int16" Size="1" />
<Data ElementName="flag_names" Type="EQ2_8Bit_String" Size="1" />
@ -33,7 +34,8 @@
</Struct>
<Struct Name="Substruct_BaseItemDescriptionInspect" ClientVersion="373" >
<Data ElementName="unknownblah" Type="int8" Size="3" />
<Data ElementName="creator_flag" Type="int8" Size="1" />
<Data ElementName="creator" Type="EQ2_16Bit_String" Size="1" />
<Data ElementName="unique_id" Type="int32" Size="1" />
<Data ElementName="icon" Type="int16" Size="1" />
<Data ElementName="tier" Type="int8" Size="1" />
@ -60,7 +62,8 @@
<Data ElementName="unknown" Type="int8" Size="9" />
</Struct>
<Struct Name="Substruct_BaseItemDescriptionGeneric" ClientVersion="373" >
<Data ElementName="unknownblah" Type="int8" Size="3" />
<Data ElementName="creator_flag" Type="int8" Size="1" />
<Data ElementName="creator" Type="EQ2_16Bit_String" Size="1" />
<Data ElementName="unique_id" Type="int32" Size="1" />
<Data ElementName="icon" Type="int16" Size="1" />
<Data ElementName="tier" Type="int8" Size="1" />
@ -94,7 +97,8 @@
</Data>
</Struct>
<Struct Name="Substruct_BaseItemDescription" ClientVersion="373" >
<Data ElementName="unknownblah" Type="int8" Size="3" />
<Data ElementName="creator_flag" Type="int8" Size="1" />
<Data ElementName="creator" Type="EQ2_16Bit_String" Size="1" />
<Data ElementName="unique_id" Type="int32" Size="1" />
<Data ElementName="icon" Type="int16" Size="1" />
<Data ElementName="tier" Type="int8" Size="1" />
@ -128,7 +132,7 @@
</Data>
</Struct>
<Struct Name="Substruct_BaseItemDescription" ClientVersion="546" >
<Data ElementName="unknown" Type="int8" Size="1" />
<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
<Data ElementName="unique_id" Type="int32" Size="1" />
<Data ElementName="broker_item_id" Type="int64" Size="1" />
<Data ElementName="icon" Type="int16" Size="1" />

View File

@ -1806,8 +1806,8 @@ void Item::serialize(PacketStruct* packet, bool show_name, Player* player, int16
if (!client)
return;
if(creator.length() > 0){
packet->setSubstructSubstructDataByName("header", "info_header", "creator_flag", 1);
packet->setSubstructSubstructDataByName("header", "info_header", "creator", creator.c_str());
packet->setSubstructSubstructDataByName("header", "info", "creator_flag", 1);
packet->setSubstructSubstructDataByName("header", "info", "creator", creator.c_str());
}
if(show_name)
packet->setSubstructSubstructDataByName("header", "info_header", "show_name", show_name);

View File

@ -487,9 +487,11 @@ void TradeskillMgr::StopCrafting(Client* client, bool lock) {
item->details.count = qty;
// use CHANNEL_COLOR_CHAT_RELATIONSHIP as that is the same value (4) as it is in a log for this message
client->Message(CHANNEL_COLOR_CHAT_RELATIONSHIP, "You created %s.", item->CreateItemLink(client->GetVersion()).c_str());
item->creator = std::string(client->GetPlayer()->GetName());
client->AddItem(item);
if(byproduct_itemid) {
Item* byproductItem = new Item(master_item_list.GetItem(byproduct_itemid));
byproductItem->creator = std::string(client->GetPlayer()->GetName());
byproductItem->details.count = byproduct_qty;
client->Message(CHANNEL_COLOR_CHAT_RELATIONSHIP, "You received %s as a byproduct.", byproductItem->CreateItemLink(client->GetVersion()).c_str());
client->AddItem(byproductItem);