From 1e8889a9fcd948581e91b91d831732e272a0ad33 Mon Sep 17 00:00:00 2001 From: Alex King <89047260+Kinglykrab@users.noreply.github.com> Date: Wed, 3 Jan 2024 17:34:24 -0500 Subject: [PATCH] [Bug Fix] Fix issue with 9th/10th inventory slot (#3835) # Notes - Code was not checking for a `-1` value and was assuming everyone used valid bitmasks. --- common/inventory_profile.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/inventory_profile.cpp b/common/inventory_profile.cpp index 3618f0975..a8211a7ac 100644 --- a/common/inventory_profile.cpp +++ b/common/inventory_profile.cpp @@ -801,7 +801,7 @@ int16 EQ::InventoryProfile::HasItemByLoreGroup(uint32 loregroup, uint8 where) // Returns slot_id when there's one available, else SLOT_INVALID int16 EQ::InventoryProfile::FindFreeSlot(bool for_bag, bool try_cursor, uint8 min_size, bool is_arrow) { - const int16 last_bag_slot = RuleI(World, ExpansionSettings) & EQ::expansions::bitHoT ? EQ::invslot::slotGeneral10 : EQ::invslot::slotGeneral8; + const int16 last_bag_slot = (RuleI(World, ExpansionSettings) == -1 || RuleI(World, ExpansionSettings) & EQ::expansions::bitHoT) ? EQ::invslot::slotGeneral10 : EQ::invslot::slotGeneral8; for (int16 i = invslot::GENERAL_BEGIN; i <= last_bag_slot; i++) { // Check basic inventory if ((((uint64) 1 << i) & m_lookup->PossessionsBitmask) == 0) {