mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-17 03:08:26 +00:00
[Feature] Add Alternate Bazaar Search Approach (#4600)
* Add Alternate Bazaar Search This adds an alternate bazaar search allowing multinstance bazaar searching and traders above 600. Allows searches based on Bazaar Shard * Update worldserver.cpp --------- Co-authored-by: Mitch Freeman <neckkola@gmail.com> Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
+23
-3
@@ -3926,16 +3926,36 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
||||
out->action = AddTraderToBazaarWindow;
|
||||
if (c.second->GetTraderCount() <
|
||||
EQ::constants::StaticLookup(c.second->ClientVersion())->BazaarTraderLimit) {
|
||||
if (RuleB(Bazaar, UseAlternateBazaarSearch)) {
|
||||
if (out->zone_id == Zones::BAZAAR &&
|
||||
out->zone_instance_id == c.second->GetInstanceID()) {
|
||||
c.second->IncrementTraderCount();
|
||||
c.second->QueuePacket(outapp, true, Mob::CLIENT_CONNECTED);
|
||||
}
|
||||
}
|
||||
else {
|
||||
c.second->IncrementTraderCount();
|
||||
c.second->QueuePacket(outapp, true, Mob::CLIENT_CONNECTED);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case TraderOff: {
|
||||
out->action = RemoveTraderFromBazaarWindow;
|
||||
c.second->DecrementTraderCount();
|
||||
c.second->QueuePacket(outapp, true, Mob::CLIENT_CONNECTED);
|
||||
if (c.second->GetTraderCount() <=
|
||||
EQ::constants::StaticLookup(c.second->ClientVersion())->BazaarTraderLimit) {
|
||||
if (RuleB(Bazaar, UseAlternateBazaarSearch)) {
|
||||
if (out->zone_id == Zones::BAZAAR &&
|
||||
out->zone_instance_id == c.second->GetInstanceID()) {
|
||||
c.second->DecrementTraderCount();
|
||||
c.second->QueuePacket(outapp, true, Mob::CLIENT_CONNECTED);
|
||||
}
|
||||
}
|
||||
else {
|
||||
c.second->DecrementTraderCount();
|
||||
c.second->QueuePacket(outapp, true, Mob::CLIENT_CONNECTED);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
|
||||
Reference in New Issue
Block a user