public SNOReader(DiabloIII d3, int address) { data = new Dictionary<int, int>(); int ptr = d3.memory.ReadInt(address, d3.offsets[Offset.SNOOffset1]); int count = d3.memory.ReadInt(ptr + d3.offsets[Offset.SNOOffset2]); int curOff = d3.memory.ReadInt(ptr + d3.offsets[Offset.SNOOffset3]) + d3.offsets[Offset.SNOOffset4]; for (int i = 0; i <= 4096; i++) { int curSNOoff = d3.memory.ReadInt(curOff); int curSNOid = d3.memory.ReadInt(curSNOoff); if (curSNOoff == 0 && curSNOid == 0) break; try { data.Add(curSNOid, curSNOoff); } catch (Exception) { //removed logging because it was not needed } curOff += 0x10; } }
public Item(DiabloIII d3, int address) : base(d3, address) { GetItemData(); }
public Actor(Actor other) { this.address = other.address; this.d3 = other.d3; CachedID = ActorID; }
public Actor(DiabloIII d3, int address) { this.d3 = d3; this.address = address; CachedID = ActorID; }
public ItemFinder(int processID) { d3 = new DiabloIII(processID); IgnoreList = new List<ACDActor>(); }
public ItemFinder() { d3 = new DiabloIII(); IgnoreList = new List<ACDActor>(); }
public ACDActor(DiabloIII d3, int address) : base(d3, address) { CachedACDID = ACDID; GetACDAddress(); }
public ItemFinder(int processID) { d3 = new DiabloIII(processID); IgnoreList = new List <ACDActor>(); }
public ItemFinder() { d3 = new DiabloIII(); IgnoreList = new List <ACDActor>(); }