@@ -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