예제 #1
0
    public bool b(int A_0, c A_1)
    {
        ev cq = PluginCore.cq;

        if (!cq.n.f.ContainsKey(A_0))
        {
            return(false);
        }
        if (!dh.a(A_0))
        {
            return(false);
        }
        cf local1 = cq.n.f[A_0];

        aj.c c = cq.d.a(PluginCore.cq.p.d(A_0));
        MyQuad <int, eDamageElement, ePrismaticDamageBehavior, int> quad = null;

        if (c.g)
        {
            quad = A_1.a();
        }
        TimeSpan span = TimeSpan.FromSeconds((double)er.i("DebuffPrecastSeconds"));

        if (((((!c.h || (cq.i.a(A_0, this.a("Magic Yield Other I")) > span)) && (!c.m || (cq.i.a(A_0, this.a("Weakening Curse I")) > span))) && ((!c.f || (cq.i.a(A_0, this.a("Imperil Other I")) > span)) && (!c.j || (cq.i.a(A_0, this.a("Gravity Well")) > span)))) && (((!c.k || (cq.i.a(A_0, this.a("Broadside of a Barn")) > span)) && (!c.l || (cq.i.a(A_0, this.a("Fester Other I")) > span))) && ((!c.n || (cq.i.a(A_0, this.a("Festering Curse I")) > span)) && (!c.o || (cq.i.a(A_0, this.a("Corruption I")) > TimeSpan.Zero))))) && (((!c.p || (cq.i.a(A_0, this.a("Destructive Curse I")) > TimeSpan.Zero)) && (!c.q || (cq.i.a(A_0, this.a("Corrosion I")) > TimeSpan.Zero))) && ((!c.g || (cq.i.a(A_0, this.a(cq.h.a(quad.b, eCombatSpellType.Vuln))) > span)) && ((c.c == eDamageElement.None) || (cq.i.a(A_0, this.a(cq.h.a(c.c, eCombatSpellType.Vuln))) > span)))))
        {
            return(false);
        }
        return(true);
    }
예제 #2
0
 public b(IList A_0, ev A_1)
 {
     foreach (cd.c c in A_0)
     {
         base.InnerList.Add(new MySpell(c, A_1));
     }
 }
예제 #3
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);
     }
 }
예제 #4
0
 public eo(ev A_0)
 {
     this.e = A_0;
     this.e.aw.get_CharacterFilter().add_ChangeFellowship(new EventHandler <ChangeFellowshipEventArgs>(this.a));
     this.e.aw.get_EchoFilter().add_ServerDispatch(new EventHandler <NetworkMessageEventArgs>(this.a));
     this.e.aw.get_EchoFilter().add_ClientDispatch(new EventHandler <NetworkMessageEventArgs>(this.b));
 }
예제 #5
0
 public fd(sCoord A_0, int A_1)
 {
     this.c = true;
     this.a = PluginCore.cq;
     this.d = A_1;
     this.b = A_0;
 }
예제 #6
0
 public cg(int A_0, ev A_1)
 {
     this.b = A_0;
     this.a = A_1;
     this.d.a(new EventHandler(this.a));
     this.d.a(0x67);
     this.d.d();
 }
예제 #7
0
 public dg(ev A_0)
 {
     this.a = A_0;
     this.d.a(0x3df);
     this.a.g.a(new dv.b(this.b));
     this.a.z.a(new s.a(this.a));
     this.d.a(new EventHandler(this.a));
     this.d.d();
 }
예제 #8
0
 public void a()
 {
     if (!this.c)
     {
         this.c = true;
         GC.SuppressFinalize(this);
         this.a = null;
     }
 }
예제 #9
0
 public void a()
 {
     if (!this.j)
     {
         this.j = true;
         GC.SuppressFinalize(this);
         this.h = null;
         this.i = null;
     }
 }
예제 #10
0
 public cs(ev A_0)
 {
     try
     {
         this.b = A_0;
     }
     catch (Exception exception)
     {
         MessageBox.Show(exception.Source + " error module: C.SpellDatabase");
     }
 }
예제 #11
0
        private void init()
        {
            sizeX       = setka.Value;
            sizeY       = sizeX;
            label1.Text = sizeY.ToString();
            g.Clear(Color.Black);
            int x = pb.Size.Width;
            int y = pb.Size.Height;

            fx = x / sizeX;
            fy = y / sizeY;
            cx = x / fx;
            cy = y / fy;
            for (int i = fx; i < x; i += fx)
            {
                g.DrawLine(new Pen(Brushes.Bisque, 1), new Point(i, 0), new Point(i, cy * fy));
            }

            for (int i = fy; i < y; i += fy)
            {
                g.DrawLine(new Pen(Brushes.Bisque, 1), new Point(0, i), new Point(cx * fx, i));
            }



            ev_arr = new ev[cx][];
            for (int i = 0; i < cx; i++)
            {
                ev_arr[i] = new ev[cy];
            }


            //приер пикселя с зоной обзора
            int k, j;

            obl_vid     = obzor.Value;
            label4.Text = obl_vid.ToString();

            maxactivitis.Maximum = ((obl_vid + obl_vid + 1) * (obl_vid + obl_vid + 1)) - 1;
            maxactivitis.Value   = maxactivitis.Maximum / 2 + 1;
            label16.Text         = maxactivitis.Value.ToString();
            k = cx / 2; j = cy / 2;
            pix(k, j);
            obz(k, j);
            int listsizestr = ((obl_vid * 2 + 1) * (obl_vid * 2 + 1) - 1) / 2;

            mest.Minimum = 1;
            mest.Maximum = ((obl_vid * 2 + 1) * (obl_vid * 2 + 1) - 1);
            mest.Value   = ((obl_vid * 2 + 1) * (obl_vid * 2 + 1) - 1) / 2;
            label6.Text  = mest.Value.ToString();

            //массивы.
            listsinit();
        }
예제 #12
0
 public void b()
 {
     if (!this.d)
     {
         this.d = true;
         GC.SuppressFinalize(this);
         this.c.m();
         this.a = null;
         this.c = null;
     }
 }
예제 #13
0
 public ee(int A_0, fz[] A_1, bool A_2)
 {
     this.a = PluginCore.cq;
     this.b = A_0;
     this.d = A_2;
     this.c = new Dictionary <fz, bool>();
     foreach (fz fz in A_1)
     {
         this.c[fz] = false;
     }
 }
예제 #14
0
 public void j()
 {
     if (!this.f)
     {
         this.f = true;
         GC.SuppressFinalize(this);
         this.a.a.a(new b2.a(this.a));
         this.a.a.d(new b2.a(this.b));
         this.a = null;
     }
 }
예제 #15
0
 public void b()
 {
     if (!this.f)
     {
         this.f = true;
         GC.SuppressFinalize(this);
         this.e.aw.get_EchoFilter().remove_ClientDispatch(new EventHandler <NetworkMessageEventArgs>(this.b));
         this.e.aw.get_EchoFilter().remove_ServerDispatch(new EventHandler <NetworkMessageEventArgs>(this.a));
         this.e.aw.get_CharacterFilter().remove_ChangeFellowship(new EventHandler <ChangeFellowshipEventArgs>(this.a));
         this.e = null;
     }
 }
예제 #16
0
 public dv(ev A_0)
 {
     this.k = A_0;
     this.j.a(0xc7);
     this.m = 0x1388 / this.j.h();
     this.i.a(0x38b);
     this.p = 0x1194 / this.i.h();
     this.o = 0x708 / this.i.h();
     this.k.aw.add_ChatBoxMessage(new EventHandler <ChatTextInterceptEventArgs>(this.a));
     this.k.aw.get_WorldFilter().add_ReleaseObject(new EventHandler <ReleaseObjectEventArgs>(this.a));
     this.i.a(new EventHandler(this.a));
     this.j.a(new EventHandler(this.b));
 }
예제 #17
0
    public eFillDiagnosticPoint a(cv A_0, double A_1, double A_2, bool A_3)
    {
        ev cq = PluginCore.cq;

        this.a = A_0;
        this.b = A_0.k;
        this.c = A_0.g();
        if (!cq.n.f.ContainsKey(this.b))
        {
            this.m = false;
            return(eFillDiagnosticPoint.CreatureInfoMissing);
        }
        cf cf = cq.n.f[this.b];

        if (cf.a())
        {
            this.m = false;
            return(eFillDiagnosticPoint.CIInvalid);
        }
        this.d = cq.d.a(A_0).a;
        if (this.d < 0)
        {
            this.m = false;
            return(eFillDiagnosticPoint.NegativePriority);
        }
        this.e = dh.a(this.b, PluginCore.cq.aw.get_CharacterFilter().get_Id(), true);
        if (this.e > A_1)
        {
            this.m = false;
            return(eFillDiagnosticPoint.DistanceTooFar);
        }
        if (this.e < A_2)
        {
            this.m = false;
            return(eFillDiagnosticPoint.DistanceTooNear);
        }
        this.h = PluginCore.cq.o.b(this.b, this);
        if (!PluginCore.cq.o.a(this.b, this.h))
        {
            this.m = false;
            return(eFillDiagnosticPoint.DebuffPassWithNoAttack);
        }
        this.f = dh.b(cq.ax.get_Actions().get_Heading(), dh.b(dh.a(cq.aw.get_CharacterFilter().get_Id(), cq.ax.get_Actions()), dh.a(this.b, PluginCore.cq.ax.get_Actions())));
        this.g = PluginCore.cq.o.a(this.b, this);
        this.k = this.b == PluginCore.cq.n.d;
        this.j = this.b == PluginCore.cq.n.c;
        this.i = (this.b == PluginCore.cq.ax.get_Actions().get_CurrentSelection()) && A_3;
        this.l = PluginCore.cq.n.e.Contains(this.b);
        this.m = true;
        return(eFillDiagnosticPoint.AttackValid);
    }
예제 #18
0
 public void d()
 {
     if (!this.e)
     {
         this.e = true;
         GC.SuppressFinalize(this);
         this.a.g.b(new dv.b(this.b));
         this.a.z.b(new s.a(this.a));
         this.d.b(new EventHandler(this.a));
         this.d.f();
         this.d.e();
         this.a = null;
     }
 }
예제 #19
0
 public void b(int A_0)
 {
     if (this.b.ContainsKey(A_0))
     {
         for (int i = this.b[A_0].Keys.Count - 1; i >= 0; i--)
         {
             int num2 = this.b[A_0].Keys[i];
             for (int j = this.b[A_0][num2].Keys.Count - 1; j >= 0; j--)
             {
                 int num4 = this.b[A_0][num2].Keys[j];
                 this.b[A_0][num2][num4].a = DateTimeOffset.Now;
             }
         }
     }
 }
예제 #20
0
 public void a(int A_0)
 {
     if (this.b.ContainsKey(A_0))
     {
         for (int i = this.b[A_0].Keys.Count - 1; i >= 0; i--)
         {
             int num2 = this.b[A_0].Keys[i];
             for (int j = this.b[A_0][num2].Keys.Count - 1; j >= 0; j--)
             {
                 int num4 = this.b[A_0][num2].Keys[j];
                 this.b[A_0][num2][num4].a = this.b[A_0][num2][num4].b;
             }
         }
     }
 }
예제 #21
0
 public bool a(MySpell A_0, int A_1)
 {
     if (A_0 != null)
     {
         ev      cq    = PluginCore.cq;
         MySpell spell = cq.h.a(A_0);
         if (spell != null)
         {
             l.g();
             cq.g.a(spell, A_1);
             return(true);
         }
         a5.a(eChatType.Errors, "Error: no usable spell detected in the same class as \"" + A_0.Name + "\"");
     }
     return(false);
 }
예제 #22
0
    public static bool c(string A_0)
    {
        ev     cq   = PluginCore.cq;
        double num  = er.i(A_0);
        double num2 = cq.ax.get_Actions().get_Vital().get_Item(2);
        double num3 = cq.ax.get_Actions().get_Vital().get_Item(1);

        if ((num2 != num3) && cq.n.n.b(ActionLockType.RechargeLevelBoost_HP))
        {
            num2 -= er.i("RechargeBoostAmount");
            if (num2 < 0.0)
            {
                num2 = 0.0;
            }
        }
        return(((100.0 * num2) / num3) < num);
    }
예제 #23
0
    public bool a(int A_0, bool A_1)
    {
        ev cq = PluginCore.cq;

        if (!cq.n.f.ContainsKey(A_0))
        {
            return(false);
        }
        if (!dh.a(A_0))
        {
            return(false);
        }
        aj.c c = cq.d.a(PluginCore.cq.p.d(A_0));
        if (!A_1 && ((c.s && !c.i) && !c.r))
        {
            return(false);
        }
        return(true);
    }
예제 #24
0
    private void a(dv.d A_0)
    {
        if ((this.h == dv.d.c) && (A_0 == dv.d.a))
        {
            this.a();
        }
        this.h = A_0;
        switch (A_0)
        {
        case dv.d.a:
            this.k.n.k = false;
            this.i.a(false);
            this.j.a(false);
            PluginCore.cq.b.d();
            break;

        case dv.d.b:
            this.k.n.k = true;
            this.i.a(false);
            this.n = 0;
            this.j.a(true);
            PluginCore.cq.b.d();
            break;

        case dv.d.c:
            PluginCore.cq.al.a(this.e);
            this.k.n.k = true;
            this.q     = 0;
            this.i.a(true);
            this.j.a(false);
            PluginCore.cq.aq.b();
            if (this.b() && (!this.f.IsInstantCast || ((this.f.School.Id != 1) && (this.f.School.Id != 5))))
            {
                PluginCore.cq.b.c();
            }
            break;
        }
        if (this.c != null)
        {
            this.c(A_0);
        }
    }
예제 #25
0
 public void c()
 {
     if (!this.r)
     {
         this.r = true;
         GC.SuppressFinalize(this);
         this.k.aw.get_WorldFilter().remove_ReleaseObject(new EventHandler <ReleaseObjectEventArgs>(this.a));
         this.k.aw.remove_ChatBoxMessage(new EventHandler <ChatTextInterceptEventArgs>(this.a));
         this.i.b(new EventHandler(this.a));
         this.j.b(new EventHandler(this.b));
         if (this.j != null)
         {
             this.j.e();
         }
         if (this.i != null)
         {
             this.i.e();
         }
         this.k = null;
     }
 }
예제 #26
0
    public static int a(CharFilterVitalType A_0)
    {
        int num;
        ev  cq = PluginCore.cq;

        switch (A_0)
        {
        case 2:
            num = cq.ax.get_Actions().get_Vital().get_Item(2);
            return((100 * num) / cq.ax.get_Actions().get_Vital().get_Item(1));

        case 4:
            num = cq.ax.get_Actions().get_Vital().get_Item(4);
            return((100 * num) / cq.ax.get_Actions().get_Vital().get_Item(3));

        case 6:
            num = cq.ax.get_Actions().get_Vital().get_Item(6);
            return((100 * num) / cq.ax.get_Actions().get_Vital().get_Item(5));
        }
        return(100);
    }
예제 #27
0
    public static bool a(int A_0)
    {
        ev cq = PluginCore.cq;

        using (IEnumerator <KeyValuePair <int, ActiveSpellInfo> > enumerator = PluginCore.cq.a.d())
        {
            while (enumerator.MoveNext())
            {
                KeyValuePair <int, ActiveSpellInfo> current = enumerator.Current;
                if ((!current.Value.IsCoolDown && (current.Value.Spell.Difficulty <= A_0)) && ((current.Value.Duration != -1.0) && !current.Value.Spell.isUntargetted))
                {
                    MySpell spell = current.Value.Spell;
                    for (int i = 0; i < 7; i++)
                    {
                        if (spell.RealFamily == cq.h.a((eDamageElement)i, eCombatSpellType.Vuln).RealFamily)
                        {
                            return(true);
                        }
                    }
                }
            }
        }
        return(false);
    }
 => new PointerEventArgs(ev, source, new FakePointer(), (IVisual)source, default, 0, PointerPointProperties.None, default);
예제 #29
0
 public bs(ev A_0)
 {
     this.a = A_0;
 }
예제 #30
0
    public bool b(double A_0)
    {
        this.e.Clear();
        if (PluginCore.cq.l.f)
        {
            return(this.a(A_0));
        }
        bool flag  = er.b("DebuffEachFirst", "All") || er.b("DebuffEachFirst", "Priority");
        bool flag2 = er.b("DebuffEachFirst", "All");
        ev   cq    = PluginCore.cq;
        ReadOnlyCollection <cv> onlys = PluginCore.cq.p.a(ObjectClass.Monster);
        double num   = er.h("AttackMinimumDistance");
        bool   flag3 = er.j("TargetLock");

        this.a = new c();
        this.b = 0;
        int    num2 = 0;
        double num3 = er.h("RingDistance");
        int    num4 = er.e("TargetSelectMethod");
        double num5 = 0.0;

        if (num4 == 3)
        {
            num5 = er.h("TargetSelectAngleRange");
        }
        foreach (cv cv in onlys)
        {
            c c = new c();
            c.a(cv, A_0, num, flag3);
            if (!c.m)
            {
                continue;
            }
            num2++;
            if ((c.e < num3) && cq.d.a(cv).i)
            {
                this.b++;
            }
            if (!flag2)
            {
                if (c.d > this.a.d)
                {
                    goto Label_052A;
                }
                if (c.d >= this.a.d)
                {
                    goto Label_01CE;
                }
                continue;
            }
            if (c.h && !this.a.h)
            {
                goto Label_052A;
            }
            if (!c.h && this.a.h)
            {
                continue;
            }
            if (c.d > this.a.d)
            {
                goto Label_052A;
            }
            if (c.d < this.a.d)
            {
                continue;
            }
Label_01CE:
            if (flag)
            {
                if (c.h && !this.a.h)
                {
                    goto Label_052A;
                }
                if (!c.h && this.a.h)
                {
                    continue;
                }
            }
            if (c.g > this.a.g)
            {
                goto Label_052A;
            }
            if (c.g >= this.a.g)
            {
                if (c.i && !this.a.i)
                {
                    goto Label_052A;
                }
                if (c.i || !this.a.i)
                {
                    if ((c.e < num5) && (this.a.e < num5))
                    {
                        MyQuad <int, eDamageElement, ePrismaticDamageBehavior, int> quad  = c.a();
                        MyQuad <int, eDamageElement, ePrismaticDamageBehavior, int> quad2 = this.a.a();
                        int num6 = 0;
                        if (quad.a != PluginCore.cq.av.d())
                        {
                            num6++;
                        }
                        if (quad.d != PluginCore.cq.av.e())
                        {
                            num6++;
                        }
                        int num7 = 0;
                        if (quad2.a != PluginCore.cq.av.d())
                        {
                            num7++;
                        }
                        if (quad2.d != PluginCore.cq.av.e())
                        {
                            num7++;
                        }
                        if (num6 < num7)
                        {
                            goto Label_052A;
                        }
                        if (num6 > num7)
                        {
                            continue;
                        }
                    }
                    if (c.k && !this.a.k)
                    {
                        goto Label_052A;
                    }
                    if (c.k || !this.a.k)
                    {
                        switch (num4)
                        {
                        case 1:
                            if (c.e < this.a.e)
                            {
                                goto Label_052A;
                            }
                            if (c.e <= this.a.e)
                            {
                                if (c.f < this.a.f)
                                {
                                    goto Label_052A;
                                }
                                if (c.f <= this.a.f)
                                {
                                }
                            }
                            break;

                        case 2:
                            if (c.f < this.a.f)
                            {
                                goto Label_052A;
                            }
                            if (c.f <= this.a.f)
                            {
                                if (c.e < this.a.e)
                                {
                                    goto Label_052A;
                                }
                                if (c.e <= this.a.e)
                                {
                                }
                            }
                            break;

                        case 3:
                            goto Label_0379;
                        }
                    }
                }
            }
            continue;
Label_0379:
            if ((c.e >= num5) || (this.a.e <= num5))
            {
                if ((c.e > num5) && (this.a.e < num5))
                {
                    continue;
                }
                if (c.e < num5)
                {
                    if (c.f < this.a.f)
                    {
                        goto Label_052A;
                    }
                    if (c.f <= this.a.f)
                    {
                        if (c.e < this.a.e)
                        {
                            goto Label_052A;
                        }
                        if (c.e <= this.a.e)
                        {
                        }
                    }
                    continue;
                }
                if (c.e >= this.a.e)
                {
                    if (c.e > this.a.e)
                    {
                        continue;
                    }
                    if (c.f >= this.a.f)
                    {
                        if (c.f <= this.a.f)
                        {
                        }
                        continue;
                    }
                }
            }
Label_052A:
            this.a = c;
        }
        PluginCore.cq.n.d = this.a.b;
        PluginCore.cq.an.b(this.a.b);
        l.c(num2);
        l.b(this.b);
        l.a(onlys.Count);
        return(this.a.b != 0);
    }