示例#1
0
 private void a(object A_0, NetworkMessageEventArgs A_1)
 {
     if ((PluginCore.cq.n.b && ((A_1.get_Message().get_Type() == 0xf7b0) && (A_1.get_Message().Value <int>("event") == 0x1c0))) && (this.a != 0))
     {
         if (!dh.a(this.a))
         {
             this.b(0);
         }
         else
         {
             int   num  = A_1.get_Message().Value <int>("object");
             float num2 = A_1.get_Message().Value <float>("health");
             if (num == this.a)
             {
                 string str = PluginCore.cq.p.d(this.a).g();
                 v      v   = PluginCore.cq.x.c["SpeciesMembers"].a(0, k.a(str));
                 if (v == null)
                 {
                     if (PluginCore.cq.p.d(num) != null)
                     {
                         PluginCore.cq.x.b(num);
                     }
                 }
                 else
                 {
                     this.f = DateTimeOffset.Now;
                     this.a((int)Math.Round((double)(num2 * k.e(v[2]))));
                 }
             }
         }
     }
 }
示例#2
0
    private void f(NetworkMessageEventArgs A_0)
    {
        int num = A_0.get_Message().Value <int>("object");
        cv  n   = new cv();

        if ((num == this.o) && (this.n != null))
        {
            n      = this.n;
            this.n = null;
        }
        MessageStruct struct2 = A_0.get_Message().Struct("game");
        MessageStruct struct3 = A_0.get_Message().Struct("model");
        MessageStruct struct4 = A_0.get_Message().Struct("physics");

        n.k = num;
        this.e(n, struct2);
        this.d(n, struct3);
        this.c(n, struct4);
        if ((struct2.Value <int>("behavior") & 0x1000) != 0)
        {
            n.l = (struct4.Value <int>("unknown") & 4) > 0;
        }
        this.e(n);
        this.c(n);
        if (this.b != null)
        {
            this.b(n);
        }
    }
示例#3
0
    private void p(NetworkMessageEventArgs A_0)
    {
        int o    = this.o;
        int num2 = A_0.get_Message().Value <int>("key");
        int num3 = A_0.get_Message().Value <int>("value");

        if (this.i.ContainsKey(o))
        {
            int num4 = num2;
            dt  dt   = (dt)num2;
            if (dt == dt.f)
            {
                this.i[o].a[0xd000010] = num3;
                num4 = 0xd000010;
            }
            else
            {
                this.i[o].a[num2] = num3;
            }
            if (this.e != null)
            {
                this.e(this.i[o]);
            }
            if (this.g != null)
            {
                this.g(this.i[o], (dt)num4);
            }
        }
    }
示例#4
0
    private void k(NetworkMessageEventArgs A_0)
    {
        int num  = A_0.get_Message().Value <int>("object");
        int num2 = A_0.get_Message().Value <int>("key");
        int num3 = A_0.get_Message().Value <int>("value");

        this.b(num, num2, num3);
    }
示例#5
0
 private static void a(object A_0, NetworkMessageEventArgs A_1)
 {
     if ((((c && (A_1.get_Message().get_Type() == 0xf74c)) && (A_1.get_Message().Value <int>("object") == PluginCore.cg)) && (A_1.get_Message().Value <byte>("animation_type") == 0)) && (A_1.get_Message().Value <uint>("flags") == 0))
     {
         b = DateTimeOffset.Now;
         c = false;
     }
 }
示例#6
0
    private void j(NetworkMessageEventArgs A_0)
    {
        int o    = this.o;
        int num2 = A_0.get_Message().Value <int>("key");
        int num3 = A_0.get_Message().Value <int>("value");

        this.a(o, num2, num3);
    }
示例#7
0
    private void b(object A_0, NetworkMessageEventArgs A_1)
    {
        if (A_1.get_Message().get_Type() == 0xf7b1)
        {
            int num2 = A_1.get_Message().Value <int>("action");
            if (num2 <= 200)
            {
                switch (num2)
                {
                case 0x53:
                case 0x54:
                case 0x55:
                case 0x56:
                case 200:
                case 8:
                case 9:
                case 0x19:
                case 0x1a:
                case 0x1b:
                    return;

                case 0x4a:
                    this.a();
                    return;

                case 10:
                    this.c = DateTimeOffset.Now;
                    return;

                case 0x35:
                    this.a();
                    return;

                case 0x36:
                    this.a();
                    return;
                }
            }
            else if (num2 <= 0x1bf)
            {
                if (((num2 == 0xcd) || (num2 == 0x1b7)) || (num2 == 0x1bf))
                {
                }
            }
            else
            {
                switch (num2)
                {
                case 0x263:
                case 0xf61c:
                case 0xf753:
                    return;
                }
            }
        }
    }
示例#8
0
    private void b(NetworkMessageEventArgs A_0)
    {
        this.u   = new o();
        this.u.c = A_0.get_Message().Value <int>("merchant");
        this.u.d = A_0.get_Message().Value <int>("buyCategories");
        this.u.e = A_0.get_Message().Value <int>("unknown1");
        this.u.f = A_0.get_Message().Value <int>("buyValue");
        this.u.g = A_0.get_Message().Value <int>("unknown2");
        this.u.h = A_0.get_Message().Value <float>("buyRate");
        this.u.i = A_0.get_Message().Value <float>("sellRate");
        int num = A_0.get_Message().Value <int>("itemCount");

        for (int i = 0; i < num; i++)
        {
            cv            cv      = new cv();
            MessageStruct struct2 = A_0.get_Message().Struct("items").Struct(i);
            cv.u = struct2.Value <int>("count");
            cv.k = struct2.Value <int>("object");
            this.e(cv, struct2.Struct("game"));
            cv.v = true;
            this.u.a(cv);
        }
        if (this.t != null)
        {
            this.t(this, null);
        }
    }
示例#9
0
 private void a(object A_0, NetworkMessageEventArgs A_1)
 {
     try
     {
         if ((A_1.get_Message().get_Type() == 0xf7b0) && (((int)A_1.get_Message().get_Item("event")) == 0x2c0))
         {
             int key = (int)A_1.get_Message().Struct("fellow").get_Item("fellow");
             if (key != this.e.aw.get_CharacterFilter().get_Id())
             {
                 if (!this.i.ContainsKey(key))
                 {
                     this.i.Add(key, new eo.b());
                     if (dh.b(key))
                     {
                         this.i[key].j = PluginCore.cq.aw.get_WorldFilter().get_Item(key).get_Name();
                     }
                 }
                 this.i[key].a = DateTimeOffset.Now;
                 this.i[key].b = (int)A_1.get_Message().Struct("fellow").get_Item("maxHealth");
                 this.i[key].c = (int)A_1.get_Message().Struct("fellow").get_Item("maxStam");
                 this.i[key].d = (int)A_1.get_Message().Struct("fellow").get_Item("maxMana");
                 this.i[key].e = (int)A_1.get_Message().Struct("fellow").get_Item("curHealth");
                 this.i[key].f = (int)A_1.get_Message().Struct("fellow").get_Item("curStam");
                 this.i[key].g = (int)A_1.get_Message().Struct("fellow").get_Item("curMana");
             }
         }
     }
     catch (Exception exception)
     {
         ad.a(exception);
     }
 }
示例#10
0
    private void e(NetworkMessageEventArgs A_0)
    {
        int key = A_0.get_Message().Value <int>("object");

        if (this.i.ContainsKey(key))
        {
            cv            cv      = this.i[key];
            MessageStruct struct2 = A_0.get_Message().Struct("position");
            this.a(cv, struct2);
        }
    }
示例#11
0
    private void h(NetworkMessageEventArgs A_0)
    {
        int key = A_0.get_Message().Value <int>("object");

        if (this.i.ContainsKey(key))
        {
            this.d(this.i[key], A_0.get_Message().Struct("model"));
            if (this.e != null)
            {
                this.e(this.i[key]);
            }
        }
    }
示例#12
0
 private void a(object A_0, NetworkMessageEventArgs A_1)
 {
     try
     {
         if ((A_1.get_Message().get_Type() == 0xf7b1) && (A_1.get_Message().Value <int>("action") == 0xa1))
         {
             this.p = true;
         }
     }
     catch (Exception exception)
     {
         this.q(exception, A_1);
     }
 }
示例#13
0
    private void a(object A_0, NetworkMessageEventArgs A_1)
    {
        try
        {
            MessageStruct struct2;
            switch (this.c())
            {
            case dr.b.b:
                if (A_1.get_Message().get_Type() == 0xf74c)
                {
                    try
                    {
                        if ((((A_1.get_Message().Value <int>("object") != PluginCore.cq.aw.get_CharacterFilter().get_Id()) || (A_1.get_Message().Value <short>("activity") != 0)) || ((A_1.get_Message().Value <byte>("animation_type") != 0) || (A_1.get_Message().Value <byte>("type_flags") != 0))) || (((A_1.get_Message().Value <short>("stance") != 0x3d) || ((A_1.get_Message().Value <int>("flags") & 0xf80) == 0)) || (A_1.get_Message().Struct("animations").Struct(0).Value <short>("animation") != 0x7e)))
                        {
                            return;
                        }
                    }
                    catch (Exception)
                    {
                        return;
                    }
                    this.a(dr.b.c);
                }
                return;

            case dr.b.c:
                if (A_1.get_Message().get_Type() == 0xf745)
                {
                    struct2 = A_1.get_Message().Struct("game");
                    if (struct2.Value <string>("name") == this.d)
                    {
                        break;
                    }
                }
                return;

            default:
                return;
            }
            if (((struct2.Value <int>("flags1") & 0x4000) != 0) && (struct2.Value <int>("container") == PluginCore.cg))
            {
                this.a(dr.b.a);
            }
        }
        catch (Exception exception)
        {
            ad.a(exception);
        }
    }
示例#14
0
    private void l(NetworkMessageEventArgs A_0)
    {
        int    key  = A_0.get_Message().Value <int>("object");
        int    num2 = A_0.get_Message().Value <int>("key");
        string str  = A_0.get_Message().Value <string>("value");

        if (this.i.ContainsKey(key))
        {
            this.i[key].b[num2] = str;
            if (this.e != null)
            {
                this.e(this.i[key]);
            }
        }
    }
示例#15
0
    private void m(NetworkMessageEventArgs A_0)
    {
        int  key  = A_0.get_Message().Value <int>("object");
        int  num2 = A_0.get_Message().Value <int>("key");
        bool flag = A_0.get_Message().Value <int>("value") != 0;

        if (this.i.ContainsKey(key))
        {
            this.i[key].c[num2] = flag;
            if (this.e != null)
            {
                this.e(this.i[key]);
            }
        }
    }
示例#16
0
    private void q(NetworkMessageEventArgs A_0)
    {
        int key  = A_0.get_Message().Value <int>("item");
        int num2 = A_0.get_Message().Value <int>("count");
        int num3 = A_0.get_Message().Value <int>("value");

        if (this.i.ContainsKey(key))
        {
            this.i[key].a[0xd000006] = num2;
            this.i[key].a[0x13]      = num3;
            if (this.e != null)
            {
                this.e(this.i[key]);
            }
        }
    }
示例#17
0
    private void c(NetworkMessageEventArgs A_0)
    {
        int key  = A_0.get_Message().Value <int>("item");
        int num2 = A_0.get_Message().Value <int>("container");

        if (this.i.ContainsKey(key))
        {
            this.b(this.i[key]);
            this.i[key].a[0xd000002] = num2;
            this.c(this.i[key]);
            this.a(this.i[key]);
            if (this.c != null)
            {
                this.c(this.i[key]);
            }
        }
    }
示例#18
0
 private void a(object A_0, NetworkMessageEventArgs A_1)
 {
     try
     {
         if (PluginCore.cq.n.b && ((A_1.get_Message().get_Type() == 0xf7b1) && (A_1.get_Message().Value <int>("action") == 10)))
         {
             this.g = DateTimeOffset.Now;
             if (this.k)
             {
                 this.b();
             }
         }
     }
     catch (Exception exception)
     {
         ad.a(exception);
     }
 }
示例#19
0
 private void a(object A_0, NetworkMessageEventArgs A_1)
 {
     if (this.a() == s.b.d)
     {
         if (A_1.get_Message().get_Type() == 0xf7b0)
         {
             if ((A_1.get_Message().Value <int>("event") == 650) && (A_1.get_Message().Value <int>("type") == 0x4c8))
             {
                 this.f++;
             }
         }
         else if ((((((((((A_1.get_Message().get_Type() == 0xf74c) && (A_1.get_Message().Value <int>("object") == PluginCore.cq.aw.get_CharacterFilter().get_Id())) && (A_1.get_Message().Value <short>("activity") == 0)) && (A_1.get_Message().Value <byte>("animation_type") == 0)) && (A_1.get_Message().Value <byte>("type_flags") == 0)) && (A_1.get_Message().Value <short>("stance") == 0x49)) && ((A_1.get_Message().Value <int>("flags") & 0xf80) <= 0)) && ((A_1.get_Message().Value <int>("flags") & -68) <= 0)) && (A_1.get_Message().Value <short>("stance2") == 0x49)) && (A_1.get_Message().Value <short>("animation_1") == 0xe1))
         {
             this.a(s.b.e);
             this.f = 0;
             this.d = false;
         }
     }
 }
示例#20
0
    private void o(NetworkMessageEventArgs A_0)
    {
        int  o    = this.o;
        int  num2 = A_0.get_Message().Value <int>("key");
        long num3 = A_0.get_Message().Value <long>("value");

        if (this.i.ContainsKey(o))
        {
            this.i[o].e[num2] = num3;
            if (this.e != null)
            {
                this.e(this.i[o]);
            }
            if (this.h != null)
            {
                this.h(this.i[o], (ce)num2);
            }
        }
    }
示例#21
0
 private void r(NetworkMessageEventArgs A_0)
 {
     try
     {
         this.b(A_0.get_Message().Value <int>("object"));
     }
     catch (Exception exception)
     {
         this.q(exception, null);
     }
 }
示例#22
0
    private void a(object A_0, NetworkMessageEventArgs A_1)
    {
        int num2 = A_1.get_Message().get_Type();

        if (num2 == 0xf74c)
        {
            if ((A_1.get_Message().Value <int>("object") == PluginCore.cg) && ((A_1.get_Message().Value <byte>("type_flags") & 1) > 0))
            {
                this.c = DateTimeOffset.Now;
            }
        }
        else if ((num2 == 0xf7b0) && (A_1.get_Message().Value <int>("event") == 0x1c7))
        {
            A_1.get_Message().Value <int>("unknown");
            this.b--;
            if (this.b < 0)
            {
                this.b = 0;
            }
        }
    }
示例#23
0
 private void b(object A_0, NetworkMessageEventArgs A_1)
 {
     try
     {
         byte[] buffer = A_1.get_Message().get_RawData();
         if ((A_1.get_Message().get_Type() == 0xf7b1) && (A_1.get_Message().Value <int>("action") == 0xa6))
         {
             if (buffer[12] == 0)
             {
                 this.a = false;
             }
             else if (buffer[12] == 1)
             {
                 this.a = true;
             }
         }
     }
     catch (Exception exception)
     {
         ad.a(exception);
     }
 }
示例#24
0
    private void n(NetworkMessageEventArgs A_0)
    {
        int key  = A_0.get_Message().Value <int>("object");
        int num2 = A_0.get_Message().Value <int>("key");
        int num3 = A_0.get_Message().Value <int>("value");

        if (this.i.ContainsKey(key))
        {
            dt dt = (dt)num2;
            if (dt == dt.f)
            {
                this.i[key].a[0xd000010] = num3;
            }
            else
            {
                this.i[key].a[num2] = num3;
            }
            if (this.e != null)
            {
                this.e(this.i[key]);
            }
        }
    }
示例#25
0
 private void a(object A_0, NetworkMessageEventArgs A_1)
 {
     try
     {
         if ((PluginCore.cg != 0) && (A_1.get_Message().get_Type() == 0xf7b0))
         {
             if (A_1.get_Message().Value <int>("event") == 0x52)
             {
                 PluginCore.cq.r.b();
                 this.j = 0;
             }
             else if (A_1.get_Message().Value <int>("event") == 0x196)
             {
                 int num = A_1.get_Message().Value <int>("container");
                 if (dh.b(num))
                 {
                     if (PluginCore.cq.aw.get_WorldFilter().get_Item(num).get_Container() == 0)
                     {
                         this.j = num;
                         PluginCore.cq.r.a(A_1.get_Message().Value <int>("itemCount"));
                     }
                 }
                 else
                 {
                     PluginCore.cq.r.b();
                     this.j = 0;
                 }
             }
             else if (A_1.get_Message().Value <int>("event") == 0x22)
             {
                 if (A_1.get_Message().Value <int>("item") == this.j)
                 {
                     PluginCore.cq.r.b();
                     this.j = 0;
                 }
             }
             else if (((A_1.get_Message().Value <int>("event") == 0x2eb) && (this.k.IsMatch(A_1.get_Message().Value <string>("text")) || this.l.IsMatch(A_1.get_Message().Value <string>("text")))) && this.e.ContainsKey(this.i))
             {
                 this.e[this.i].g = DateTimeOffset.Now;
             }
         }
     }
     catch (Exception exception)
     {
         ad.a(exception);
     }
 }
示例#26
0
 internal static void a(Exception A_0, NetworkMessageEventArgs A_1)
 {
     if (A_1 == null)
     {
         a(A_0);
     }
     else
     {
         StringBuilder builder = new StringBuilder();
         foreach (byte num in A_1.get_Message().get_RawData())
         {
             builder.AppendFormat("{0:X2}:", num);
         }
         builder.Append(";;;;");
         a(new Exception(A_0.ToString() + "\n\nPKT: " + builder.ToString()));
     }
 }
示例#27
0
    private void g(NetworkMessageEventArgs A_0)
    {
        int key = A_0.get_Message().Value <int>("object");

        if (((((this.i.ContainsKey(key) && (this.i[key].c() == ObjectClass.Door)) && (A_0.get_Message().Value <short>("activity") == 0)) && (A_0.get_Message().Value <byte>("animation_type") == 0)) && (A_0.get_Message().Value <short>("stance") == 0x3d)) && (A_0.get_Message().Value <int>("flags") == 2))
        {
            this.i[key].l = !this.i[key].l;
            if (this.e != null)
            {
                this.e(this.i[key]);
            }
            if (this.f != null)
            {
                this.f(this.i[key]);
            }
        }
    }
示例#28
0
    private void a(object A_0, NetworkMessageEventArgs A_1)
    {
        switch (A_1.get_Message().get_Type())
        {
        case 0x24:
        {
            int num = A_1.get_Message().Value <int>("object");
            this.a(num);
            return;
        }

        case 0xf7b0:
            switch (A_1.get_Message().Value <int>("event"))
            {
            case 0x22:
            {
                int num2 = A_1.get_Message().Value <int>("item");
                this.a(num2);
                return;
            }

            case 0x23:
            {
                int num4 = A_1.get_Message().Value <int>("item");
                bk  bk   = A_1.get_Message().Value <int>("slot");
                this.a(num4, bk);
                return;
            }

            case 410:
            {
                int num3 = A_1.get_Message().Value <int>("item");
                this.a(num3);
                return;
            }
            }
            break;
        }
    }
示例#29
0
    private void a(NetworkMessageEventArgs A_0)
    {
        int num = A_0.get_Message().Value <int>("flags");
        int key = A_0.get_Message().Value <int>("object");

        if (this.i.ContainsKey(key))
        {
            cv cv = this.i[key];
            cv.j = true;
            cv.p = DateTimeOffset.Now;
            if ((num & 1) > 0)
            {
                short num3 = A_0.get_Message().Value <short>("dwordCount");
                for (int i = 0; i < num3; i++)
                {
                    int num5 = A_0.get_Message().Struct("dwords").Struct(i).Value <int>("key");
                    int num6 = A_0.get_Message().Struct("dwords").Struct(i).Value <int>("value");
                    cv.a[num5] = num6;
                }
            }
            if ((num & 2) > 0)
            {
                short num7 = A_0.get_Message().Value <short>("booleanCount");
                for (int j = 0; j < num7; j++)
                {
                    int  num9 = A_0.get_Message().Struct("booleans").Struct(j).Value <int>("key");
                    bool flag = A_0.get_Message().Struct("booleans").Struct(j).Value <int>("value") != 0;
                    cv.c[num9] = flag;
                }
            }
            if ((num & 4) > 0)
            {
                short num10 = A_0.get_Message().Value <short>("doubleCount");
                for (int k = 0; k < num10; k++)
                {
                    int    num12 = A_0.get_Message().Struct("doubles").Struct(k).Value <int>("key");
                    double num13 = A_0.get_Message().Struct("doubles").Struct(k).Value <double>("value");
                    cv.d[num12] = num13;
                }
            }
            if ((num & 8) > 0)
            {
                short num14 = A_0.get_Message().Value <short>("stringCount");
                for (int m = 0; m < num14; m++)
                {
                    int    num16 = A_0.get_Message().Struct("strings").Struct(m).Value <int>("key");
                    string str   = A_0.get_Message().Struct("strings").Struct(m).Value <string>("value");
                    cv.b[num16] = str;
                }
            }
            if ((num & 0x1000) > 0)
            {
                short num17 = A_0.get_Message().Value <short>("resourceCount");
                for (int n = 0; n < num17; n++)
                {
                    int num19 = A_0.get_Message().Struct("resources").Struct(n).Value <int>("key");
                    int num20 = A_0.get_Message().Struct("resources").Struct(n).Value <int>("value");
                    switch (num19)
                    {
                    case 8:
                    {
                        cv.a[0xd000001] = num20;
                    }
                    }
                    cv.g[num19] = num20;
                }
            }
            if ((num & 0x2000) > 0)
            {
                short num21 = A_0.get_Message().Value <short>("qwordCount");
                for (int num22 = 0; num22 < num21; num22++)
                {
                    int  num23 = A_0.get_Message().Struct("qwords").Struct(num22).Value <int>("key");
                    long num24 = A_0.get_Message().Struct("qwords").Struct(num22).Value <long>("value");
                    cv.e[num23] = num24;
                }
            }
            cv.h.Clear();
            if ((num & 0x10) > 0)
            {
                short num25 = A_0.get_Message().Value <short>("spellCount");
                for (int num26 = 0; num26 < num25; num26++)
                {
                    int item = (ushort)A_0.get_Message().Struct("spells").Struct(num26).Value <short>("spell");
                    cv.h.Add(item);
                }
            }
            if ((num & 0x80) > 0)
            {
                cv.d[0xa000000] = (double)A_0.get_Message().Value <float>("protSlashing");
                cv.d[0xa000001] = (double)A_0.get_Message().Value <float>("protPiercing");
                cv.d[0xa000002] = (double)A_0.get_Message().Value <float>("protBludgeoning");
                cv.d[0xa000006] = (double)A_0.get_Message().Value <float>("protCold");
                cv.d[0xa000005] = (double)A_0.get_Message().Value <float>("protFire");
                cv.d[0xa000003] = (double)A_0.get_Message().Value <float>("protAcid");
                cv.d[0xa000004] = (double)A_0.get_Message().Value <float>("protLightning");
            }
            if ((num & 0x100) > 0)
            {
                int num28 = A_0.get_Message().Value <int>("flags1");
                cv.a[0xd800000] = num28;
                cv.a[0xd800001] = A_0.get_Message().Value <int>("health");
                cv.a[0xd800002] = A_0.get_Message().Value <int>("healthMax");
                if ((num28 & 8) > 0)
                {
                    cv.a[0xd800003] = A_0.get_Message().Value <int>("strength");
                    cv.a[0xd800004] = A_0.get_Message().Value <int>("endurance");
                    cv.a[0xd800005] = A_0.get_Message().Value <int>("quickness");
                    cv.a[0xd800006] = A_0.get_Message().Value <int>("coordination");
                    cv.a[0xd800007] = A_0.get_Message().Value <int>("focus");
                    cv.a[0xd800008] = A_0.get_Message().Value <int>("self");
                    cv.a[0xd800009] = A_0.get_Message().Value <int>("stamina");
                    cv.a[0xd80000a] = A_0.get_Message().Value <int>("mana");
                    cv.a[0xd80000b] = A_0.get_Message().Value <int>("staminaMax");
                    cv.a[0xd80000c] = A_0.get_Message().Value <int>("manaMax");
                }
                if ((num28 & 1) > 0)
                {
                    cv.a[0xd80000d] = A_0.get_Message().Value <short>("attrHighlight");
                    cv.a[0xd80000e] = A_0.get_Message().Value <short>("attrColor");
                }
            }
            if ((num & 0x20) > 0)
            {
                cv.a[0xd000021] = A_0.get_Message().Value <int>("weapType");
                cv.a[0xd00001f] = A_0.get_Message().Value <int>("weapSpeed");
                cv.a[0xd000020] = A_0.get_Message().Value <int>("weapSkill");
                cv.a[0xd000022] = A_0.get_Message().Value <int>("weapDamage");
                cv.d[0xa00000b] = A_0.get_Message().Value <double>("weapVariance");
                cv.d[0xa00000e] = A_0.get_Message().Value <double>("weapModifier");
                cv.d[0xa00000d] = A_0.get_Message().Value <double>("weapPower");
                cv.d[0xa00000c] = A_0.get_Message().Value <double>("weapAttack");
            }
            if (this.a != null)
            {
                this.a(cv);
            }
        }
    }
示例#30
0
    private void d(NetworkMessageEventArgs A_0)
    {
        cv n;

        this.o = A_0.get_Message().Value <int>("character");
        foreach (KeyValuePair <int, cv> pair in this.i)
        {
            this.c(pair.Value);
        }
        if (this.i.ContainsKey(this.o))
        {
            n = this.i[this.o];
        }
        else
        {
            this.n = new cv();
            n      = this.n;
            n.k    = this.o;
        }
        MessageStruct struct2 = A_0.get_Message().Struct("properties");
        int           num     = struct2.Value <int>("flags");

        if ((num & 1) > 0)
        {
            short num2 = struct2.Value <short>("dwordCount");
            for (int i = 0; i < num2; i++)
            {
                int num4 = struct2.Struct("dwords").Struct(i).Value <int>("key");
                int num5 = struct2.Struct("dwords").Struct(i).Value <int>("value");
                n.a[num4] = num5;
            }
        }
        if ((num & 0x80) > 0)
        {
            short num6 = struct2.Value <short>("qwordCount");
            for (int j = 0; j < num6; j++)
            {
                int  num8 = struct2.Struct("qwords").Struct(j).Value <int>("key");
                long num9 = struct2.Struct("qwords").Struct(j).Value <long>("value");
                n.e[num8] = num9;
            }
        }
        if ((num & 2) > 0)
        {
            short num10 = struct2.Value <short>("booleanCount");
            for (int k = 0; k < num10; k++)
            {
                int  num12 = struct2.Struct("booleans").Struct(k).Value <int>("key");
                bool flag  = struct2.Struct("booleans").Struct(k).Value <int>("value") != 0;
                n.c[num12] = flag;
            }
        }
        if ((num & 4) > 0)
        {
            short num13 = struct2.Value <short>("doubleCount");
            for (int m = 0; m < num13; m++)
            {
                int    num15 = struct2.Struct("doubles").Struct(m).Value <int>("key");
                double num16 = struct2.Struct("doubles").Struct(m).Value <double>("value");
                n.d[num15] = num16;
            }
        }
        if ((num & 0x10) > 0)
        {
            short num17 = struct2.Value <short>("stringCount");
            for (int num18 = 0; num18 < num17; num18++)
            {
                int    num19 = struct2.Struct("strings").Struct(num18).Value <int>("key");
                string str   = struct2.Struct("strings").Struct(num18).Value <string>("value");
                n.b[num19] = str;
            }
        }
        if ((num & 0x40) > 0)
        {
            short num20 = struct2.Value <short>("resourceCount");
            for (int num21 = 0; num21 < num20; num21++)
            {
                int num22 = struct2.Struct("resources").Struct(num21).Value <int>("key");
                int num23 = struct2.Struct("resources").Struct(num21).Value <int>("value");
                switch (num22)
                {
                case 8:
                {
                    n.a[0xd000001] = num23;
                }
                }
                n.g[num22] = num23;
            }
        }
        if (this.e != null)
        {
            this.e(n);
        }
    }