Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Implement "Big Bags" #4548

Closed
wants to merge 74 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
738a31d
[Feature] Implement "Big Bags"
Kinglykrab Oct 25, 2024
1da7901
Update worlddb.cpp
Kinglykrab Oct 25, 2024
77de74a
Update shareddb.cpp
Kinglykrab Oct 25, 2024
95687b5
Cleanup
Kinglykrab Oct 25, 2024
cd158aa
Cleanup
Kinglykrab Oct 26, 2024
df746dd
Add slot ID conversions
Kinglykrab Nov 22, 2024
b2d0fa6
[Bug Fix] Fix Strings::Commify bug with #mystats (#4547)
carolus21rex Nov 22, 2024
a49d144
[Bug Fix] Fix for sending money via Parcel, then changing your mind (…
neckkola Nov 24, 2024
7a841c1
[Bug Fix] Players could become flagged as a Trader when they were not…
neckkola Nov 24, 2024
12ada57
[Code] Fix build with older C++ libraries (#4549)
hgtw Nov 24, 2024
3158386
[Bug Fix] Fix Issue with Perl EVENT_PAYLOAD (#4545)
Kinglykrab Nov 24, 2024
630da0e
[Config] Fix World TCP Address Configuration Default (#4551)
Akkadius Nov 24, 2024
9938755
[Bug Fix] Fix Possible Item Loss in Trades (#4554)
Kinglykrab Nov 24, 2024
6bd758b
[Rules] Add Rule to Disable NPCs Facing Target (#4543)
Kinglykrab Nov 24, 2024
187ee10
[Tasks] Update tasks in all zones if invalid zone set (#4550)
hgtw Nov 25, 2024
3d7cf42
[Release] 22.60.0 (#4555)
Kinglykrab Nov 25, 2024
fe9df46
[Bug Fix] Fix EVENT_COMBAT on NPC Death (#4558)
Kinglykrab Nov 28, 2024
5f0b999
[Groups] Fix AmIMainAssist incorrectly checking for MainTankName (#4565)
nytmyr Dec 4, 2024
8e40e53
[Bots] Fix AA ranks to account for level (#4567)
nytmyr Dec 7, 2024
bd85fc9
Bump golang.org/x/crypto in /utils/scripts/build/should-release (#4570)
dependabot[bot] Dec 12, 2024
5c6e7a8
[Cleanup] Convert Event Parses to Single Line (#4569)
Kinglykrab Dec 12, 2024
66a7dd0
[Databuckets] Improved Reliability and Performance of Databuckets (#4…
Akkadius Dec 12, 2024
6172c49
[Feature] Enable bazaar window 'Find Trader' functionality (#4560)
neckkola Dec 12, 2024
0f164c4
[Cleanup] Remove Unused Group Methods (#4559)
Kinglykrab Dec 12, 2024
3f3c0f2
[Commands] Add #find ldon_theme Subcommand (#4564)
Kinglykrab Dec 12, 2024
3b779ef
[Rules] Add rules for requiring custom files from client (#4561)
knervous Dec 12, 2024
e258aaa
[Bug Fix] Allow Items in ROF2 to Stack to 32,767 (#4556)
Kinglykrab Dec 12, 2024
77793f3
[Commands] Add #find bot Subcommand (#4563)
Kinglykrab Dec 12, 2024
ea5cbdd
Update shareddb.cpp
Kinglykrab Dec 13, 2024
62c742a
Update database_update_manifest.cpp
Kinglykrab Dec 14, 2024
0504426
Update database_update_manifest.cpp
Kinglykrab Dec 14, 2024
4493ebe
[Bug Fix] Resolve a client crash when logging in or zoning (#4572)
neckkola Dec 14, 2024
8bd1d51
Update database_update_manifest.cpp
Kinglykrab Dec 15, 2024
8a7d5e7
[Filesystem] Path Manager Improvements (#4557)
Akkadius Jan 6, 2025
20ff325
[Fix] Repair a LoadNPCEmote MemoryLeak (#4586)
neckkola Jan 6, 2025
b40e4ce
[Fix] Repair a memory leak in GuildsList (#4585)
neckkola Jan 6, 2025
33db85f
[Fix] Repair a EQEMUConfig Memory Leak (#4584)
neckkola Jan 6, 2025
c82dee5
[Fix] Guild Membership Update Fix (#4581)
neckkola Jan 6, 2025
4c6aaa6
[Logs] Improve Crash log defaults (#4579)
Akkadius Jan 6, 2025
3155b82
[Command] Fix #copycharacter (#4582)
Akkadius Jan 6, 2025
fe43d26
[Fix] Guild creation to propagate across zones (#4575)
neckkola Jan 6, 2025
c44596b
[Network] Prune / disconnect TCP connections gracefully (#4574)
Akkadius Jan 6, 2025
a3a4986
[Maps] Fix broken Map MMFS implementation (#4576)
Akkadius Jan 6, 2025
1ed282f
[Inventory] Add GetInventorySlots() Method (#4566)
Kinglykrab Jan 6, 2025
d95b64e
[Cleanup] Fix GM Flag Spell Restriction Bypasses (#4571)
Kinglykrab Jan 6, 2025
490cffb
[Release] 22.61.0 (#4587)
Akkadius Jan 6, 2025
d89f9bd
[Fix] Repair an incorrect safe_delete call memory leak. (#4588)
neckkola Jan 7, 2025
03b30d5
[Database] Change npc_types walkspeed to be of type float (#4589)
Akkadius Jan 7, 2025
533dc99
[Fix] Repair a memory leak in #summonitem (#4591)
neckkola Jan 8, 2025
1568456
[Fix] Add Bazaar BulkSendTrader Limit for RoF2 (#4590)
neckkola Jan 8, 2025
c82f1b9
[Zone] Implement zone player count sharding (#4536)
Akkadius Jan 8, 2025
c2ebc25
[Fix] Update a few Bazaar RoF2 routines for memory leaks (#4592)
neckkola Jan 8, 2025
035c519
[Quest API] Add SetAAEXPPercentage to Perl/Lua (#4597)
Kinglykrab Jan 19, 2025
d47bf68
[Fix] Update trader add/remove packets to limits for RoF2 (#4595)
neckkola Jan 19, 2025
f21cc17
[Feature] Evolving Item Support for RoF2 (#4496)
neckkola Jan 20, 2025
37a7b7f
[Feature] Add Alternate Bazaar Search Approach (#4600)
neckkola Jan 20, 2025
75698a8
[Feature] Add Support for Item Previews (#4599)
Kinglykrab Jan 20, 2025
1a27127
[Hotfix] Fix query error in character_evolving_items
Akkadius Jan 21, 2025
25826c6
[Performance] Client / NPC Position Update Optimizations (#4602)
Akkadius Jan 21, 2025
d13c725
[Linux] Implement KSM Kernel Samepage Merging with Maps (#4601)
Akkadius Jan 21, 2025
37ced4b
[Databuckets] Add Account Scoped Databuckets (#4603)
Akkadius Jan 21, 2025
dba494c
[Hotfix] Update database version to match manifest
Akkadius Jan 21, 2025
90c3739
[Hotfix] CLI help menu from parsing correctly in World
Akkadius Jan 22, 2025
0acad18
[CLI] Add --skip-backup to world database:updates (#4605)
Akkadius Jan 22, 2025
31abaf8
[Feature] Implement Custom Pet Names (#4594)
catapultam-habeo Jan 22, 2025
f30371a
[Feature] Implement "Big Bags"
Kinglykrab Oct 25, 2024
44f708a
Update worlddb.cpp
Kinglykrab Oct 25, 2024
a2dba75
Update shareddb.cpp
Kinglykrab Oct 25, 2024
0e2c9c1
Cleanup
Kinglykrab Oct 25, 2024
7ebd9b9
Cleanup
Kinglykrab Oct 26, 2024
7fdb4f9
Add slot ID conversions
Kinglykrab Nov 22, 2024
4b63313
Update shareddb.cpp
Kinglykrab Dec 13, 2024
dc622b5
Update database_update_manifest.cpp
Kinglykrab Dec 14, 2024
e6f81a3
Merge branch 'feature/big_bags' of https://github.com/EQEmu/Server in…
Kinglykrab Jan 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,4 @@ compile_flags.txt

# CMake Files
cmake-build-relwithdebinfo/*
skill-caps.diff
99 changes: 99 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,102 @@
## [22.61.0] 1/6/2025

### Bots

* Fix AA ranks to account for level ([#4567](https://github.com/EQEmu/Server/pull/4567)) @nytmyr 2024-12-07

### Code

* Convert Event Parses to Single Line ([#4569](https://github.com/EQEmu/Server/pull/4569)) @Kinglykrab 2024-12-12
* Fix GM Flag Spell Restriction Bypasses ([#4571](https://github.com/EQEmu/Server/pull/4571)) @Kinglykrab 2025-01-06
* Remove Unused Group Methods ([#4559](https://github.com/EQEmu/Server/pull/4559)) @Kinglykrab 2024-12-12

### Commands

* Add #find bot Subcommand ([#4563](https://github.com/EQEmu/Server/pull/4563)) @Kinglykrab 2024-12-12
* Add #find ldon_theme Subcommand ([#4564](https://github.com/EQEmu/Server/pull/4564)) @Kinglykrab 2024-12-12
* Fix #copycharacter ([#4582](https://github.com/EQEmu/Server/pull/4582)) @Akkadius 2025-01-06

### Databuckets

* Improved Reliability and Performance of Databuckets ([#4562](https://github.com/EQEmu/Server/pull/4562)) @Akkadius 2024-12-12

### Feature

* Enable bazaar window 'Find Trader' functionality ([#4560](https://github.com/EQEmu/Server/pull/4560)) @neckkola 2024-12-12

### Filesystem

* Path Manager Improvements ([#4557](https://github.com/EQEmu/Server/pull/4557)) @Akkadius 2025-01-06

### Fixes

* Allow Items in ROF2 to Stack to 32,767 ([#4556](https://github.com/EQEmu/Server/pull/4556)) @Kinglykrab 2024-12-12
* Fix EVENT_COMBAT on NPC Death ([#4558](https://github.com/EQEmu/Server/pull/4558)) @Kinglykrab 2024-11-28
* Guild Membership Update Fix ([#4581](https://github.com/EQEmu/Server/pull/4581)) @neckkola 2025-01-06
* Guild creation to propagate across zones ([#4575](https://github.com/EQEmu/Server/pull/4575)) @neckkola 2025-01-06
* Repair a EQEMUConfig Memory Leak ([#4584](https://github.com/EQEmu/Server/pull/4584)) @neckkola 2025-01-06
* Repair a LoadNPCEmote MemoryLeak ([#4586](https://github.com/EQEmu/Server/pull/4586)) @neckkola 2025-01-06
* Repair a memory leak in GuildsList ([#4585](https://github.com/EQEmu/Server/pull/4585)) @neckkola 2025-01-06
* Resolve a client crash when logging in or zoning ([#4572](https://github.com/EQEmu/Server/pull/4572)) @neckkola 2024-12-14

### Groups

* Fix AmIMainAssist incorrectly checking for MainTankName ([#4565](https://github.com/EQEmu/Server/pull/4565)) @nytmyr 2024-12-04

### Inventory

* Add GetInventorySlots() Method ([#4566](https://github.com/EQEmu/Server/pull/4566)) @Kinglykrab 2025-01-06

### Logs

* Improve Crash log defaults ([#4579](https://github.com/EQEmu/Server/pull/4579)) @Akkadius 2025-01-06

### Maps

* Fix broken Map MMFS implementation ([#4576](https://github.com/EQEmu/Server/pull/4576)) @Akkadius 2025-01-06

### Network

* Prune / disconnect TCP connections gracefully ([#4574](https://github.com/EQEmu/Server/pull/4574)) @Akkadius 2025-01-06

### Rules

* Add rules for requiring custom files from client ([#4561](https://github.com/EQEmu/Server/pull/4561)) @knervous 2024-12-12

## [22.60.0] 11/25/2024

### Bazaar

* Further refinements for instanced bazaar ([#4544](https://github.com/EQEmu/Server/pull/4544)) @neckkola 2024-11-16

### Code

* Fix build with older C++ libraries ([#4549](https://github.com/EQEmu/Server/pull/4549)) @hgtw 2024-11-24

### Config

* Fix World TCP Address Configuration Default ([#4551](https://github.com/EQEmu/Server/pull/4551)) @Akkadius 2024-11-24

### Fixes

* Fix Issue with Perl EVENT_PAYLOAD ([#4545](https://github.com/EQEmu/Server/pull/4545)) @Kinglykrab 2024-11-24
* Fix Possible Item Loss in Trades ([#4554](https://github.com/EQEmu/Server/pull/4554)) @Kinglykrab 2024-11-24
* Fix Strings::Commify bug with #mystats ([#4547](https://github.com/EQEmu/Server/pull/4547)) @carolus21rex 2024-11-22
* Fix an edge case with augmented items inside parceled containers ([#4546](https://github.com/EQEmu/Server/pull/4546)) @neckkola 2024-11-21
* Fix for bazaar search of containers. ([#4540](https://github.com/EQEmu/Server/pull/4540)) @neckkola 2024-11-15
* Fix for mult-instanced bazaar zones ([#4541](https://github.com/EQEmu/Server/pull/4541)) @neckkola 2024-11-15
* Fix for sending money via Parcel, then changing your mind ([#4552](https://github.com/EQEmu/Server/pull/4552)) @neckkola 2024-11-24
* Fix issue where NPC's are being hidden as traders ([#4539](https://github.com/EQEmu/Server/pull/4539)) @Akkadius 2024-11-15
* Players could become flagged as a Trader when they were not trading ([#4553](https://github.com/EQEmu/Server/pull/4553)) @neckkola 2024-11-24

### Rules

* Add Rule to Disable NPCs Facing Target ([#4543](https://github.com/EQEmu/Server/pull/4543)) @Kinglykrab 2024-11-24

### Tasks

* Update tasks in all zones if invalid zone set ([#4550](https://github.com/EQEmu/Server/pull/4550)) @hgtw 2024-11-25

## [22.59.1] 11/13/2024

### Hotfix
Expand Down
3 changes: 3 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ IF(EQEMU_ADD_PROFILER)
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-as-needed,-lprofiler,--as-needed")
ENDIF(EQEMU_ADD_PROFILER)

IF(USE_MAP_MMFS)
ADD_DEFINITIONS(-DUSE_MAP_MMFS)
ENDIF (USE_MAP_MMFS)

IF(MSVC)
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
Expand Down
14 changes: 8 additions & 6 deletions client_files/export/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,14 @@
#include "../../common/file.h"
#include "../../common/events/player_event_logs.h"
#include "../../common/skill_caps.h"

EQEmuLogSys LogSys;
WorldContentService content_service;
ZoneStore zone_store;
PathManager path;
PlayerEventLogs player_event_logs;
#include "../../common/evolving_items.h"

EQEmuLogSys LogSys;
WorldContentService content_service;
ZoneStore zone_store;
PathManager path;
PlayerEventLogs player_event_logs;
EvolvingItemsManager evolving_items_manager;

void ExportSpells(SharedDatabase *db);
void ExportSkillCaps(SharedDatabase *db);
Expand Down
14 changes: 8 additions & 6 deletions client_files/import/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,14 @@
#include "../../common/repositories/base_data_repository.h"
#include "../../common/file.h"
#include "../../common/events/player_event_logs.h"

EQEmuLogSys LogSys;
WorldContentService content_service;
ZoneStore zone_store;
PathManager path;
PlayerEventLogs player_event_logs;
#include "../../common/evolving_items.h"

EQEmuLogSys LogSys;
WorldContentService content_service;
ZoneStore zone_store;
PathManager path;
PlayerEventLogs player_event_logs;
EvolvingItemsManager evolving_items_manager;

void ImportSpells(SharedDatabase *db);
void ImportSkillCaps(SharedDatabase *db);
Expand Down
7 changes: 7 additions & 0 deletions common/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ SET(common_sources
event_sub.cpp
events/player_event_logs.cpp
events/player_event_discord_formatter.cpp
evolving_items.cpp
expedition_lockout_timer.cpp
extprofile.cpp
discord/discord_manager.cpp
Expand Down Expand Up @@ -97,6 +98,7 @@ SET(common_sources
json/json.hpp
json/jsoncpp.cpp
zone_store.cpp
memory/ksm.hpp
net/console_server.cpp
net/console_server_connection.cpp
net/crc32.cpp
Expand Down Expand Up @@ -172,6 +174,7 @@ SET(repositories
repositories/base/base_character_currency_repository.h
repositories/base/base_character_data_repository.h
repositories/base/base_character_disciplines_repository.h
repositories/base/base_character_evolving_items_repository.h
repositories/base/base_character_expedition_lockouts_repository.h
repositories/base/base_character_exp_modifiers_repository.h
repositories/base/base_character_inspect_messages_repository.h
Expand Down Expand Up @@ -240,6 +243,7 @@ SET(repositories
repositories/base/base_inventory_snapshots_repository.h
repositories/base/base_ip_exemptions_repository.h
repositories/base/base_items_repository.h
repositories/base/base_items_evolving_details_repository.h
repositories/base/base_ldon_trap_entries_repository.h
repositories/base/base_ldon_trap_templates_repository.h
repositories/base/base_level_exp_mods_repository.h
Expand Down Expand Up @@ -355,6 +359,7 @@ SET(repositories
repositories/character_currency_repository.h
repositories/character_data_repository.h
repositories/character_disciplines_repository.h
repositories/character_evolving_items_repository.h
repositories/character_expedition_lockouts_repository.h
repositories/character_exp_modifiers_repository.h
repositories/character_inspect_messages_repository.h
Expand Down Expand Up @@ -423,6 +428,7 @@ SET(repositories
repositories/inventory_snapshots_repository.h
repositories/ip_exemptions_repository.h
repositories/items_repository.h
repositories/items_evolving_details_repository.h
repositories/ldon_trap_entries_repository.h
repositories/ldon_trap_templates_repository.h
repositories/level_exp_mods_repository.h
Expand Down Expand Up @@ -555,6 +561,7 @@ SET(common_headers
events/player_event_discord_formatter.h
events/player_events.h
event_sub.h
evolving_items.h
expedition_lockout_timer.h
extprofile.h
faction.h
Expand Down
73 changes: 52 additions & 21 deletions common/bazaar.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,14 @@ std::vector<BazaarSearchResultsFromDB_Struct>
Bazaar::GetSearchResults(
SharedDatabase &db,
BazaarSearchCriteria_Struct search,
uint32 char_zone_id
uint32 char_zone_id,
int32 char_zone_instance_id
)
{
LogTrading(
"Searching for items with search criteria - item_name [{}] min_cost [{}] max_cost [{}] min_level [{}] "
"max_level [{}] max_results [{}] prestige [{}] augment [{}] trader_entity_id [{}] trader_id [{}] "
"search_scope [{}] char_zone_id [{}]",
"search_scope [{}] char_zone_id [{}], char_zone_instance_id [{}]",
search.item_name,
search.min_cost,
search.max_cost,
Expand All @@ -26,26 +27,49 @@ Bazaar::GetSearchResults(
search.trader_entity_id,
search.trader_id,
search.search_scope,
char_zone_id
char_zone_id,
char_zone_instance_id
);

bool convert = false;
std::string search_criteria_trader("TRUE ");

if (search.search_scope == NonRoFBazaarSearchScope) {
search_criteria_trader.append(
fmt::format(
" AND trader.char_entity_id = {} AND trader.char_zone_id = {}",
" AND trader.char_entity_id = {} AND trader.char_zone_id = {} AND trader.char_zone_instance_id = {}",
search.trader_entity_id,
Zones::BAZAAR
Zones::BAZAAR,
char_zone_instance_id
)
);
}
else if (search.search_scope == Local_Scope) {
search_criteria_trader.append(fmt::format(" AND trader.char_zone_id = {}", char_zone_id));
search_criteria_trader.append(fmt::format(
" AND trader.char_zone_id = {} AND trader.char_zone_instance_id = {}",
char_zone_id,
char_zone_instance_id)
);
}
else if (search.trader_id > 0) {
search_criteria_trader.append(fmt::format(" AND trader.char_id = {}", search.trader_id));
if (RuleB(Bazaar, UseAlternateBazaarSearch)) {
if (search.trader_id >= TraderRepository::TRADER_CONVERT_ID) {
convert = true;
search_criteria_trader.append(fmt::format(
" AND trader.char_zone_id = {} AND trader.char_zone_instance_id = {}",
Zones::BAZAAR,
search.trader_id - TraderRepository::TRADER_CONVERT_ID)
);
}
else {
search_criteria_trader.append(fmt::format(" AND trader.char_id = {}", search.trader_id));
}
}
else {
search_criteria_trader.append(fmt::format(" AND trader.char_id = {}", search.trader_id));
}
}

if (search.min_cost != 0) {
search_criteria_trader.append(fmt::format(" AND trader.item_cost >= {}", search.min_cost * 1000));
}
Expand All @@ -62,7 +86,7 @@ Bazaar::GetSearchResults(
std::string query = fmt::format(
"SELECT COUNT(item_id), trader.char_id, trader.item_id, trader.item_sn, trader.item_charges, trader.item_cost, "
"trader.slot_id, SUM(trader.item_charges), trader.char_zone_id, trader.char_entity_id, character_data.name, "
"aug_slot_1, aug_slot_2, aug_slot_3, aug_slot_4, aug_slot_5, aug_slot_6 "
"aug_slot_1, aug_slot_2, aug_slot_3, aug_slot_4, aug_slot_5, aug_slot_6, trader.char_zone_instance_id "
"FROM trader, character_data "
"WHERE {} AND trader.char_id = character_data.id "
"GROUP BY trader.item_sn, trader.item_charges, trader.char_id",
Expand Down Expand Up @@ -122,19 +146,20 @@ Bazaar::GetSearchResults(
continue;
}

r.count = Strings::ToInt(row[0]);
r.trader_id = Strings::ToInt(row[1]);
r.serial_number = Strings::ToInt(row[3]);
r.cost = Strings::ToInt(row[5]);
r.slot_id = Strings::ToInt(row[6]);
r.sum_charges = Strings::ToInt(row[7]);
r.stackable = item->Stackable;
r.icon_id = item->Icon;
r.trader_zone_id = Strings::ToInt(row[8]);
r.trader_entity_id = Strings::ToInt(row[9]);
r.serial_number_RoF = fmt::format("{:016}\0", Strings::ToInt(row[3]));
r.item_name = fmt::format("{:.63}\0", item->Name);
r.trader_name = fmt::format("{:.63}\0", std::string(row[10]).c_str());
r.count = Strings::ToInt(row[0]);
r.trader_id = Strings::ToInt(row[1]);
r.serial_number = Strings::ToInt(row[3]);
r.cost = Strings::ToInt(row[5]);
r.slot_id = Strings::ToInt(row[6]);
r.sum_charges = Strings::ToInt(row[7]);
r.stackable = item->Stackable;
r.icon_id = item->Icon;
r.trader_zone_id = Strings::ToInt(row[8]);
r.trader_zone_instance_id = Strings::ToInt(row[17]);
r.trader_entity_id = Strings::ToInt(row[9]);
r.serial_number_RoF = fmt::format("{:016}\0", Strings::ToInt(row[3]));
r.item_name = fmt::format("{:.63}\0", item->Name);
r.trader_name = fmt::format("{:.63}\0", std::string(row[10]).c_str());

LogTradingDetail(
"Searching against item [{}] ({}) for trader [{}]",
Expand Down Expand Up @@ -347,6 +372,12 @@ Bazaar::GetSearchResults(
}

LogTradingDetail("Found item [{}] meeting search criteria.", r.item_name);
if (RuleB(Bazaar, UseAlternateBazaarSearch)) {
if (convert || (r.trader_zone_id == Zones::BAZAAR && r.trader_zone_instance_id != char_zone_instance_id)) {
r.trader_id = TraderRepository::TRADER_CONVERT_ID + r.trader_zone_instance_id;
}
}

all_entries.push_back(r);
}

Expand Down
2 changes: 1 addition & 1 deletion common/bazaar.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
class Bazaar {
public:
static std::vector<BazaarSearchResultsFromDB_Struct>
GetSearchResults(SharedDatabase &db, BazaarSearchCriteria_Struct search, unsigned int char_zone_id);
GetSearchResults(SharedDatabase &db, BazaarSearchCriteria_Struct search, unsigned int char_zone_id, int char_zone_instance_id);
};


Expand Down
2 changes: 2 additions & 0 deletions common/crash.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,8 @@ void print_trace()
SendCrashReport(crash_report);
}

LogSys.CloseFileLogs();

exit(1);
}

Expand Down
Loading