1
0

Fix charm slots being visible in the client UI for DoF and KoS clients (classic does not support)

This commit is contained in:
Emagi 2025-05-05 15:14:02 -04:00
parent ec6e98137d
commit 11d46887db
3 changed files with 14 additions and 0 deletions

View File

@ -2227,6 +2227,10 @@ void Item::serialize(PacketStruct* packet, bool show_name, Player* player, int16
slot = EQ2_DOF_FOOD_SLOT; slot = EQ2_DOF_FOOD_SLOT;
else if (slot == EQ2_DRINK_SLOT) else if (slot == EQ2_DRINK_SLOT)
slot = EQ2_DOF_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); packet->setArrayDataByName("slot", slot, i);
} }

View File

@ -70,6 +70,8 @@ extern MasterItemList master_item_list;
#define EQ2_BACK_SLOT 30 #define EQ2_BACK_SLOT 30
#define EQ2_ORIG_FOOD_SLOT 18 #define EQ2_ORIG_FOOD_SLOT 18
#define EQ2_ORIG_DRINK_SLOT 19 #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_FOOD_SLOT 20
#define EQ2_DOF_DRINK_SLOT 21 #define EQ2_DOF_DRINK_SLOT 21

View File

@ -1381,6 +1381,10 @@ int16 Player::ConvertSlotToClient(int8 slot, int16 version) {
slot = EQ2_DOF_FOOD_SLOT; slot = EQ2_DOF_FOOD_SLOT;
else if (slot == EQ2_DRINK_SLOT) else if (slot == EQ2_DRINK_SLOT)
slot = EQ2_DOF_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) else if (slot > EQ2_EARS_SLOT_1 && slot <= EQ2_WAIST_SLOT)
slot -= 1; slot -= 1;
} }
@ -1401,6 +1405,10 @@ int16 Player::ConvertSlotFromClient(int8 slot, int16 version) {
slot = EQ2_FOOD_SLOT; slot = EQ2_FOOD_SLOT;
else if (slot == EQ2_DOF_DRINK_SLOT) else if (slot == EQ2_DOF_DRINK_SLOT)
slot = EQ2_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) else if (slot > EQ2_EARS_SLOT_1 && slot <= EQ2_WAIST_SLOT)
slot += 1; slot += 1;
} }