public void EnumerateMultibox() { try { if (!GameManagerAccountHelper.Current.LevelAreaHelper.State()) { return; } var ACDContainer = ActorCommonData.Container; ACDContainer.TakeSnapshot(); foreach (var item in ACDContainer.GetBufferDump(ref GameManagerAccountHelper.Current.Gamestate.ACDBuffer)) { var Actor = item.Create(); if (Actor.x000_Id == -1) { continue; } if ((Actor.x184_ActorType == ActorType.Item) && (int)Actor.x114_ItemLocation == -1) // -1 == Ground items // && Actor.x090_ActorSnoId != -1 && Actor.x27C_WorldId != 0 && Actor.x0D0_WorldPosX != 0 && (Actor.x0B0_GameBalanceType == GameBalanceType.Items && { ItemFilter.Enumerate(Actor); } } ACDContainer.FreeSnapshot(); } catch (Exception e) { DebugWriter.Write(e); } }
public static void KadalaGambling(int Collection, bool FirstRun = false) { foreach (ActorCommonData ACD in GameManager.Instance.GManager.GList.MainAccount.DiabloIII.GetContainer().Where(x => x.x114_ItemLocation == ItemLocation.PlayerBackpack)) { if (Inventory[Collection].Exists(x => x.ID == ACD.x000_Id)) { continue; } if (!FirstRun) { ItemFilter.Enumerate(ACD, true); } Inventory[Collection].Add(new InventoryHelper { ID = ACD.x000_Id, Name = ACD.x004_Name }); } }