Skip to content

Commit b12ae1d

Browse files
committed
Fixed hero inv scan
1 parent 4dc8a52 commit b12ae1d

1 file changed

Lines changed: 6 additions & 9 deletions

File tree

GWToolboxdll/Windows/AccountInventoryWindow.cpp

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -619,13 +619,10 @@ namespace {
619619

620620
std::vector<GW::Constants::HeroID> GetPartyHeroIDs()
621621
{
622-
const auto party_info = GW::PartyMgr::GetPartyInfo();
623-
const auto me = party_info ? GW::Agents::GetControlledCharacter() : 0;
624-
if (!me) return {};
622+
const auto& flags = GW::GetWorldContext()->hero_flags;
625623
std::vector<GW::Constants::HeroID> hero_ids;
626-
for (const auto& hero : party_info->heroes) {
627-
if (hero.owner_player_id != me->login_number) continue;
628-
hero_ids.push_back(hero.hero_id);
624+
for (auto& flag : flags) {
625+
hero_ids.push_back(flag.hero_id);
629626
}
630627
return hero_ids;
631628
}
@@ -1680,7 +1677,7 @@ void InventoryScanner::Update()
16801677
Set(InventoryScanner::Stage::WaitForHeroLoad);
16811678
} break;
16821679
case InventoryScanner::Stage::WaitForHeroLoad: {
1683-
auto waiting = GetPartyHeroIDs() != heroes_pending_load;
1680+
auto waiting = GetPartyHeroIDs().size() != heroes_pending_load.size();
16841681
for (auto hero_id : heroes_pending_load) {
16851682
if (!GW::Items::GetHeroInventory(hero_id)) {
16861683
waiting = true;
@@ -1693,7 +1690,7 @@ void InventoryScanner::Update()
16931690
Set(InventoryScanner::Stage::WaitForEmptyParty);
16941691
} break;
16951692
case InventoryScanner::Stage::DoRestoreHeroes: {
1696-
if (GetPartyHeroIDs() == original_heroes) Set(InventoryScanner::Stage::NextCharacter);
1693+
if (GetPartyHeroIDs().size() == original_heroes.size()) Set(InventoryScanner::Stage::NextCharacter);
16971694
} break;
16981695
}
16991696
}
@@ -1958,7 +1955,7 @@ void AccountInventoryWindow::HandleHeroBag(GW::Constants::HeroID hero_id)
19581955
if (initializing) return;
19591956
const auto inventory = GW::Items::GetHeroInventory(hero_id);
19601957
if (!inventory) return;
1961-
for (auto bag_ptr = &inventory->backpack; bag_ptr <= &inventory->unused_bag; ++bag_ptr) {
1958+
for (auto bag_ptr = &inventory->backpack; bag_ptr <= &inventory->equipped_items; ++bag_ptr) {
19621959
const auto bag = *bag_ptr;
19631960
if (!bag) continue;
19641961
if (bag->bag_id() != GW::Constants::Bag::Equipped_Items) {

0 commit comments

Comments
 (0)