Exemple #1
0
        private float?a(pwnagebot.LotroInterface.a A_0, int A_1)
        {
            int num = A_0.a(A_1);

            if (num == 0)
            {
                return(new float?());
            }
            return(new float?(this.m_reader.ReadFloat(num + 12)));
        }
Exemple #2
0
        private int?b(pwnagebot.LotroInterface.a A_0, int A_1)
        {
            int num = A_0.a(A_1);

            if (num == 0)
            {
                return(new int?());
            }
            return(new int?(this.m_reader.ReadDWORD(num + 12)));
        }
Exemple #3
0
        private static string a(MemoryReader A_0, int A_1, int A_2)
        {
            Hashtable hashtable1 = new pwnagebot.LotroInterface.a(A_0, e.c, 1).b();

            if (!hashtable1.ContainsKey((object)32))
            {
                throw new StringTableException();
            }
            int num1 = (int)hashtable1[(object)32];
            int num2 = A_0.ReadDWORD(num1 + 8);

            if (num2 == 0)
            {
                throw new StringTableException();
            }
            Hashtable hashtable2 = new pwnagebot.LotroInterface.a(A_0, num2 + 16, 1).b();

            if (!hashtable2.ContainsKey((object)A_1))
            {
                return("");
            }
            int num3 = (int)hashtable2[(object)A_1];
            int num4 = A_0.ReadDWORD(num3 + 8);

            if (num4 == 0)
            {
                throw new StringTableException();
            }
            Hashtable hashtable3 = new pwnagebot.LotroInterface.a(A_0, num4 + 76, 1).b();

            if (!hashtable3.ContainsKey((object)A_2))
            {
                return(string.Empty);
            }
            int num5 = (int)hashtable3[(object)A_2];
            int num6 = A_0.ReadDWORD(num5 + 8);

            if (num6 == 0)
            {
                throw new StringTableException();
            }
            int address = A_0.ReadDWORD(num6 + 20);

            if (address == 0)
            {
                throw new StringTableException();
            }
            int iAddress = A_0.ReadDWORD(address);

            if (address == 0)
            {
                throw new StringTableException();
            }
            return(A_0.ReadUnicodeString(iAddress, 256));
        }
        public void ReloadFellowship()
        {
            FileLog instance = Singleton <FileLog> .Instance;
            int     num1     = this.m_reader.ReadDWORD(this.b);

            if (this.m_reader.ReadDWORD(num1 + 240) <= 0)
            {
                return;
            }
            int address1 = this.m_reader.ReadDWORD(this.m_reader.ReadDWORD(this.m_reader.ReadDWORD(this.c) + 120) + 24);

            if (this.m_reader.ReadDWORD(address1) == 6)
            {
                int num2 = this.m_reader.ReadDWORD(address1 + 8);
                int num3 = this.m_reader.ReadDWORD(address1 + 16);
                for (int index = 0; index < num3; ++index)
                {
                    int address2 = this.m_reader.ReadDWORD(num2 + index * 8);
                    if (this.m_reader.ReadDWORD(address2) == this.d)
                    {
                        long num4 = (long)this.m_reader.ReadLong(address2 + 96);
                        break;
                    }
                }
            }
            Hashtable hashtable = new pwnagebot.LotroInterface.a(this.m_reader, num1 + 228, 2).b();
            ReadOnlyCollection <Entity> entities = this.Entities;

            this.m_groupList = new List <Entity>(hashtable.Count);
            LotroMe me = (LotroMe)this.Me;

            foreach (DictionaryEntry dictionaryEntry in hashtable)
            {
                LotroFellowshipEntity fellowshipEntity = new LotroFellowshipEntity(this.m_reader, this.m_reader.ReadDWORD((int)dictionaryEntry.Value + 16));
                fellowshipEntity.Update();
                if ((long)fellowshipEntity.Guid != (long)me.Guid)
                {
                    foreach (Entity entity in entities)
                    {
                        LotroEntity lotroEntity = entity as LotroEntity;
                        if (lotroEntity != null && (long)lotroEntity.Guid == (long)fellowshipEntity.Guid)
                        {
                            fellowshipEntity.EntityRef = lotroEntity;
                            break;
                        }
                    }
                    this.m_groupList.Add((Entity)fellowshipEntity);
                }
            }
        }
        private void a()
        {
            Hashtable hashtable = new pwnagebot.LotroInterface.a(this.m_reader, this.m_reader.ReadDWORD(this.f) + 20, 2).b();
            LotroMe   me        = (LotroMe)this.m_me;

            foreach (DictionaryEntry dictionaryEntry in hashtable)
            {
                if ((long)(ulong)dictionaryEntry.Key == (long)me.Guid)
                {
                    IDictionaryEnumerator enumerator = new pwnagebot.LotroInterface.a(this.m_reader, this.m_reader.ReadDWORD((int)dictionaryEntry.Value + 16) + 32, 1).b().GetEnumerator();
                    try
                    {
                        while (enumerator.MoveNext())
                        {
                            DictionaryEntry current = (DictionaryEntry)enumerator.Current;
                            this.m_reader.ReadDWORD((int)current.Value);
                            if ((int)current.Key == 1)
                            {
                                me.MoralePtr = (int)current.Value;
                            }
                            else if ((int)current.Key == 2)
                            {
                                me.PowerPtr = (int)current.Value;
                            }
                        }
                        break;
                    }
                    finally
                    {
                        IDisposable disposable = enumerator as IDisposable;
                        if (disposable != null)
                        {
                            disposable.Dispose();
                        }
                    }
                }
            }
        }
Exemple #6
0
        private void e()
        {
            int num = this.m_reader.ReadDWORD(this.m_entityPtr + 96);

            if (num == 0)
            {
                return;
            }
            pwnagebot.LotroInterface.a A_0 = new pwnagebot.LotroInterface.a(this.m_reader, num + 32, 1);
            this.m = this.b(A_0, 268438084);
            this.n = this.b(A_0, 268439569);
            this.o = this.a(A_0, 268439560);
            this.p = this.b(A_0, 268438067);
            this.q = this.b(A_0, 268437988);
            this.r = this.b(A_0, 268438638);
            this.s = this.b(A_0, 268437184);
            this.t = this.b(A_0, 268435744);
            this.u = this.a(A_0, 577);
            this.v = this.a(A_0, 669);
            this.w = this.b(A_0, 268441400);
            this.y = this.b(A_0, 268440364);
            this.z = this.b(A_0, 846);
        }
        public void Reload()
        {
            ulong num1 = this.m_reader.ReadLong(this.e);
            ulong num2 = 0;

            if (this.m_injected)
            {
                num2 = pwnagebot.LotroInterface.b.d();
            }
            Hashtable     hashtable = new pwnagebot.LotroInterface.a(this.m_reader, this.m_reader.ReadDWORD(this.a) + 12, 2).b();
            List <Entity> entities_ = new List <Entity>(hashtable.Count);

            foreach (DictionaryEntry dictionaryEntry in hashtable)
            {
                LotroEntity lotroEntity = new LotroEntity(this.m_reader, this.m_reader.ReadDWORD((int)dictionaryEntry.Value + 16));
                if (this.m_me == null || lotroEntity.MyId != this.m_me.MyId)
                {
                    entities_.Add((Entity)lotroEntity);
                }
            }
            Dictionary <int, Entity> entites = this.ParseEntites(entities_);

            Dictionary <int, Entity> .ValueCollection values = entites.Values;
            if (this.m_me != null)
            {
                this.m_me.Update();
                this.b();
                int num3 = 0;
                int num4 = 999;
                int num5 = 0;
                foreach (LotroEntity lotroEntity in values)
                {
                    if (lotroEntity.Durability != -1 && lotroEntity.ValidName && lotroEntity.Type == LotroEntity.LotroEntityType.NODE)
                    {
                        num3 += lotroEntity.Durability;
                        if (lotroEntity.Durability < num4)
                        {
                            num4 = lotroEntity.Durability;
                        }
                        ++num5;
                    }
                }
                int num6;
                if (num5 == 0)
                {
                    num6 = 999;
                    num4 = 999;
                }
                else
                {
                    num6 = num3 / num5;
                }
                LotroMe me = (LotroMe)this.m_me;
                me.AvgDurability = num6;
                me.MinDurability = num4;
            }
            else
            {
                foreach (LotroEntity lotroEntity in values)
                {
                    if ((long)lotroEntity.Guid == (long)num1)
                    {
                        entites.Remove(lotroEntity.MyId);
                        this.m_me = (Entity) new LotroMe(this.m_reader, lotroEntity.MyId);
                        this.m_me.Update();
                        this.a();
                        break;
                    }
                }
            }
            Entity entity = (Entity)null;

            if ((long)num2 != 0L)
            {
                foreach (LotroEntity lotroEntity in values)
                {
                    if ((long)lotroEntity.Guid == (long)num2)
                    {
                        entity = (Entity)lotroEntity;
                        break;
                    }
                }
            }
            this.m_target     = entity;
            this.m_entityDict = entites;
        }