@@ -491,7 +491,10 @@ public void DoAutoGather()
491491 {
492492 GatherBuddy . Log . Information ( "[AutoGather] Inventory full with collectables - starting turn-in" ) ;
493493 AutoStatus = "Turning in collectables..." ;
494- GatherBuddy . CollectableManager ? . Start ( ) ;
494+ if ( IsGathering )
495+ CloseGatheringAddons ( ) ;
496+ else
497+ GatherBuddy . CollectableManager ? . Start ( ) ;
495498 }
496499 else
497500 {
@@ -742,17 +745,25 @@ public void DoAutoGather()
742745 var currentWeather = EnhancedCurrentWeather . GetCurrentWeatherId ( ) ;
743746 var isUmbralWeather = UmbralNodes . IsUmbralWeather ( currentWeather ) ;
744747 var wasUmbralWeather = UmbralNodes . IsUmbralWeather ( _lastUmbralWeather ) ;
745- var weatherChanged = currentWeather != _lastUmbralWeather && _lastUmbralWeather != 0 ;
748+ var weatherChanged = currentWeather != _lastUmbralWeather ;
749+
750+ if ( _lastUmbralWeather == 0 )
751+ {
752+ _lastUmbralWeather = currentWeather ;
753+ weatherChanged = false ;
754+ }
746755
747756 var hasUmbralItems = HasUmbralItemsInActiveList ( ) ;
748757 var hasNormalDiademItems = _activeItemList . Any ( target => target . Gatherable != null &&
749758 ! UmbralNodes . UmbralNodeData . Any ( entry => entry . ItemIds . Contains ( target . Gatherable . ItemId ) ) &&
750759 target . Location . Territory . Id is 901 or 929 or 939 ) ;
751760
752- var requiredUmbralWeathers = _activeItemList
753- . Where ( target => target . Gatherable != null &&
754- UmbralNodes . UmbralNodeData . Any ( entry => entry . ItemIds . Contains ( target . Gatherable . ItemId ) ) )
755- . Select ( target => UmbralNodes . GetUmbralItemInfo ( target . Gatherable . ItemId ) ? . Weather )
761+ var umbralItemsInListManager = GetActiveItemsNeedingGathering ( )
762+ . Where ( item => UmbralNodes . UmbralNodeData . Any ( entry => entry . ItemIds . Contains ( item . Item . ItemId ) ) )
763+ . ToList ( ) ;
764+
765+ var requiredUmbralWeathers = umbralItemsInListManager
766+ . Select ( item => UmbralNodes . GetUmbralItemInfo ( item . Item . ItemId ) ? . Weather )
756767 . Where ( w => w . HasValue )
757768 . Select ( w => ( uint ) w . Value )
758769 . Distinct ( )
0 commit comments