diff --git a/source/WorldServer/Items/Items.cpp b/source/WorldServer/Items/Items.cpp index c506987..37f3d33 100644 --- a/source/WorldServer/Items/Items.cpp +++ b/source/WorldServer/Items/Items.cpp @@ -2227,6 +2227,10 @@ void Item::serialize(PacketStruct* packet, bool show_name, Player* player, int16 slot = EQ2_DOF_FOOD_SLOT; else if (slot == EQ2_DRINK_SLOT) slot = EQ2_DOF_DRINK_SLOT; + else if (slot == EQ2_CHARM_SLOT_1) + slot = EQ2_DOF_CHARM_SLOT_1; + else if (slot == EQ2_CHARM_SLOT_2) + slot = EQ2_DOF_CHARM_SLOT_2; } packet->setArrayDataByName("slot", slot, i); } diff --git a/source/WorldServer/Items/Items.h b/source/WorldServer/Items/Items.h index 612a7f1..38c0e8d 100644 --- a/source/WorldServer/Items/Items.h +++ b/source/WorldServer/Items/Items.h @@ -70,6 +70,8 @@ extern MasterItemList master_item_list; #define EQ2_BACK_SLOT 30 #define EQ2_ORIG_FOOD_SLOT 18 #define EQ2_ORIG_DRINK_SLOT 19 +#define EQ2_DOF_CHARM_SLOT_1 18 +#define EQ2_DOF_CHARM_SLOT_2 19 #define EQ2_DOF_FOOD_SLOT 20 #define EQ2_DOF_DRINK_SLOT 21 diff --git a/source/WorldServer/Player.cpp b/source/WorldServer/Player.cpp index 99224f0..b4e4675 100644 --- a/source/WorldServer/Player.cpp +++ b/source/WorldServer/Player.cpp @@ -1381,6 +1381,10 @@ int16 Player::ConvertSlotToClient(int8 slot, int16 version) { slot = EQ2_DOF_FOOD_SLOT; else if (slot == EQ2_DRINK_SLOT) slot = EQ2_DOF_DRINK_SLOT; + else if (slot == EQ2_CHARM_SLOT_1) + slot = EQ2_DOF_CHARM_SLOT_1; + else if (slot == EQ2_CHARM_SLOT_2) + slot = EQ2_DOF_CHARM_SLOT_2; else if (slot > EQ2_EARS_SLOT_1 && slot <= EQ2_WAIST_SLOT) slot -= 1; } @@ -1401,6 +1405,10 @@ int16 Player::ConvertSlotFromClient(int8 slot, int16 version) { slot = EQ2_FOOD_SLOT; else if (slot == EQ2_DOF_DRINK_SLOT) slot = EQ2_DRINK_SLOT; + else if (slot == EQ2_DOF_CHARM_SLOT_1) + slot = EQ2_CHARM_SLOT_1; + else if (slot == EQ2_DOF_CHARM_SLOT_2) + slot = EQ2_CHARM_SLOT_2; else if (slot > EQ2_EARS_SLOT_1 && slot <= EQ2_WAIST_SLOT) slot += 1; }