From bed7d8ae5d5c7478d6df2d653b021028022fa2e7 Mon Sep 17 00:00:00 2001 From: Emagi Date: Sat, 7 Dec 2024 11:09:14 -0500 Subject: [PATCH] Add support for creator name and fix packet to send data --- server/ItemStructs.xml | 14 +++++++++----- source/WorldServer/Items/Items.cpp | 4 ++-- source/WorldServer/Tradeskills/Tradeskills.cpp | 2 ++ 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/server/ItemStructs.xml b/server/ItemStructs.xml index 38dd2dd..0e5304e 100644 --- a/server/ItemStructs.xml +++ b/server/ItemStructs.xml @@ -1,6 +1,7 @@ - + + @@ -33,7 +34,8 @@ - + + @@ -60,7 +62,8 @@ - + + @@ -94,7 +97,8 @@ - + + @@ -128,7 +132,7 @@ - + diff --git a/source/WorldServer/Items/Items.cpp b/source/WorldServer/Items/Items.cpp index 47cd3a8..f8ace02 100644 --- a/source/WorldServer/Items/Items.cpp +++ b/source/WorldServer/Items/Items.cpp @@ -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); diff --git a/source/WorldServer/Tradeskills/Tradeskills.cpp b/source/WorldServer/Tradeskills/Tradeskills.cpp index 19cac6b..b9ecd20 100644 --- a/source/WorldServer/Tradeskills/Tradeskills.cpp +++ b/source/WorldServer/Tradeskills/Tradeskills.cpp @@ -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);