Browse Source

Merchants no longer offer bank items and bags with items for sale

Merchants no longer offer bank items and bags with items for sale
Robert Allen 10 months ago
parent
commit
b96d4170be
1 changed files with 5 additions and 1 deletions
  1. 5 1
      EQ2/source/WorldServer/client.cpp

+ 5 - 1
EQ2/source/WorldServer/client.cpp

@@ -8046,7 +8046,11 @@ void Client::SendSellMerchantList(bool sell) {
 				vector<Item*> sellable_items;
 				vector<Item*> sellable_items;
 				map<int32, Item*>::iterator test_itr;
 				map<int32, Item*>::iterator test_itr;
 				for (test_itr = items->begin(); test_itr != items->end(); test_itr++) {
 				for (test_itr = items->begin(); test_itr != items->end(); test_itr++) {
-					if (test_itr->second && !test_itr->second->CheckFlag(NO_VALUE))
+					BOOLEAN isbagwithitems = false;
+					if (test_itr->second && test_itr->second->IsBag() && (test_itr->second->details.num_slots - test_itr->second->details.num_free_slots != test_itr->second->details.num_slots))
+						isbagwithitems = TRUE;
+					
+					if (test_itr->second && !test_itr->second->CheckFlag(NO_VALUE) && (isbagwithitems == false) && (test_itr->second->details.inv_slot_id != -3) && (test_itr->second->details.inv_slot_id != -4))
 						sellable_items.push_back(test_itr->second);
 						sellable_items.push_back(test_itr->second);
 				}
 				}
 				packet->setDataByName("spawn_id", player->GetIDWithPlayerSpawn(spawn));
 				packet->setDataByName("spawn_id", player->GetIDWithPlayerSpawn(spawn));