示例#1
0
    private void d(cv A_0)
    {
        A_0.m = false;
        if (this.i.ContainsKey(A_0.k))
        {
            this.i.Remove(A_0.k);
        }
        if (this.j.ContainsKey(A_0.g()) && this.j[A_0.g()].Contains(A_0))
        {
            this.j[A_0.g()].Remove(A_0);
            if (this.j[A_0.g()].Count == 0)
            {
                this.j.Remove(A_0.g());
            }
        }
        ObjectClass key = A_0.c();

        if (this.k.ContainsKey(key) && this.k[key].Contains(A_0))
        {
            this.k[key].Remove(A_0);
            if (this.k[key].Count == 0)
            {
                this.k.Remove(key);
            }
        }
        if (this.m.Contains(A_0))
        {
            this.m.Remove(A_0);
        }
        this.b(A_0);
    }
示例#2
0
 private void e(cv A_0)
 {
     A_0.m = true;
     if (this.i.ContainsKey(A_0.k))
     {
         A_0.n = 1 + this.i[A_0.k].n;
         if (this.d != null)
         {
             this.d(this.i[A_0.k]);
         }
         this.d(this.i[A_0.k]);
     }
     this.i[A_0.k] = A_0;
     if (!this.j.ContainsKey(A_0.g()))
     {
         this.j[A_0.g()] = new List <cv>();
     }
     this.j[A_0.g()].Add(A_0);
     if (!this.k.ContainsKey(A_0.c()))
     {
         this.k[A_0.c()] = new List <cv>();
     }
     this.k[A_0.c()].Add(A_0);
     this.a(A_0);
 }
示例#3
0
 internal void a(cv A_0)
 {
     this.a[A_0.k] = A_0;
     if (!this.b.ContainsKey(A_0.g()))
     {
         this.b[A_0.g()] = new List <cv>();
     }
     this.b[A_0.g()].Add(A_0);
 }
示例#4
0
 public void b(int A_0)
 {
     if (this.b.ContainsKey(A_0))
     {
         Dictionary <int, int> dictionary;
         int num2;
         (dictionary = this.b)[num2 = A_0] = dictionary[num2] + 1;
     }
     else
     {
         this.b[A_0] = 1;
     }
     if (this.b[A_0] > er.i("BlacklistMonsterAttemptCount"))
     {
         if (PluginCore.cq.n.f.ContainsKey(A_0))
         {
             string str = "???";
             cv     cv  = PluginCore.cq.p.d(A_0);
             if (cv != null)
             {
                 str = cv.g();
             }
             int num = er.i("BlacklistMonsterTimeoutSeconds");
             PluginCore.e("Blacklisting unhittable monster " + str + " (" + A_0.ToString() + ") for " + num.ToString() + " seconds.");
             PluginCore.cq.n.f[A_0].a(TimeSpan.FromSeconds((double)num));
         }
         this.b.Remove(A_0);
     }
 }
示例#5
0
 public void a(int A_0, bool A_1)
 {
     if (PluginCore.cq.an.h() == A_0)
     {
         cv cv = PluginCore.cq.p.d(A_0);
         if (cv != null)
         {
             int num  = PluginCore.cq.ax.get_Actions().get_Vital().get_Item(2);
             int num2 = PluginCore.cq.ax.get_Actions().get_Vital().get_Item(1);
             int num3 = PluginCore.cq.an.b();
             int num4 = ((int)Math.Ceiling((double)((num2 * er.i("Recharge-Norm-HitP")) / 100.0))) - 1;
             if (((num != 0) && (num2 != 0)) && (num3 != 0))
             {
                 bool flag = true;
                 v    v    = PluginCore.cq.x.c["MonsterImmunities"].a(0, k.a(cv.g()));
                 if ((v != null) && ((k.e(v[1]) & 2) > 0))
                 {
                     flag = false;
                 }
                 MySpell spell = bq.a(num, num2, num4, num3, flag, A_1);
                 if (spell != null)
                 {
                     PluginCore.cq.g.a(spell, A_0);
                 }
                 else
                 {
                     PluginCore.cq.ak.Recharge(eRechargeVital_Single.Health);
                 }
             }
         }
     }
 }
示例#6
0
 private void a()
 {
     if ((er.j("DeleteGhostMonstersByHPTracker") && PluginCore.cq.n.b) && (PluginCore.cq.an.h() != 0))
     {
         cv cv = PluginCore.cq.p.d(PluginCore.cq.an.h());
         if (cv != null)
         {
             string str = cv.g();
             if (PluginCore.cq.x.e(str) > 0)
             {
                 TimeSpan span = (TimeSpan)(DateTimeOffset.Now - PluginCore.cq.an.g());
                 if (span.TotalSeconds >= er.i("GhostDeleteHPTrackerSeconds"))
                 {
                     TimeSpan span2 = (TimeSpan)(DateTimeOffset.Now - PluginCore.cq.an.e());
                     if (span2.TotalSeconds >= er.i("GhostDeleteHPTrackerSeconds"))
                     {
                         int num = PluginCore.cq.an.h();
                         cv  cv2 = PluginCore.cq.p.d(num);
                         if ((cv2 != null) && (cv2.c() == ObjectClass.Monster))
                         {
                             PluginCore.e("Deleting ghost monster " + cv2.g() + " (" + num.ToString() + ") due to HP tracker notification.");
                             dh.d(num);
                         }
                     }
                 }
             }
         }
     }
 }
示例#7
0
 public void a(MySpell A_0, int A_1, bool A_2)
 {
     if (((PluginCore.cq.ax.get_Actions().get_CombatMode() == 8) && ((A_0.School.Name != "Void Magic") || !PluginCore.cq.n.n.b(ActionLockType.VoidSpellLockedOut))) && ((A_0.School.Name != "War Magic") || !PluginCore.cq.n.n.b(ActionLockType.WarSpellLockedOut)))
     {
         this.l = A_2;
         if ((A_0.isValid && !PluginCore.cq.z.d()) && (this.h == dv.d.a))
         {
             try
             {
                 if (A_0.Duration > 0.0)
                 {
                     PluginCore.PC.b(A_0.Id, A_1, A_0.SkillWithSchool);
                 }
                 this.k.n.a("Casting: " + A_0.Name + " on " + A_1.ToString() + " (" + this.k.aw.get_WorldFilter().get_Item(A_1).get_Name() + ")", e8.d);
             }
             catch (Exception)
             {
                 this.k.n.a("Casting: " + A_0.Name + " on " + A_1.ToString() + " (Target Invalid)", e8.d);
             }
             this.f = A_0;
             this.e = A_1;
             cv cv = PluginCore.cq.p.d(this.e);
             if (cv != null)
             {
                 if (this.f.School.Name.Equals("Item Enchantment"))
                 {
                     this.d = null;
                 }
                 else if (cv.k == PluginCore.cg)
                 {
                     this.d = "yourself";
                 }
                 else
                 {
                     this.d = cv.g();
                 }
             }
             else
             {
                 this.d = null;
             }
             this.a(A_0.Id, A_1);
             if (PluginCore.cq.ax.get_Actions().get_Vital().get_Item(6) < 10)
             {
                 this.j.a(100);
             }
             else
             {
                 this.j.a(200);
             }
             this.m = 0x1388 / this.j.h();
             PluginCore.cq.n.a("SpellCaster: Begin", e8.i);
             this.a(dv.d.b);
         }
     }
 }
示例#8
0
    public string f()
    {
        string str = this.b.ToString();
        cv     cv  = this.a.p.d(this.b);

        if (cv != null)
        {
            str = cv.g();
        }
        return("Object (DF): " + str);
    }
示例#9
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);
    }
示例#10
0
    private static object d(cv A_0)
    {
        int         num     = PluginCore.cq.x.f(A_0.g());
        FileService service = CoreManager.get_Current().get_FileService() as FileService;

        try
        {
            return(service.get_SpeciesTable().GetById(num).get_Name());
        }
        catch
        {
            return("");
        }
    }
示例#11
0
 public void b(int A_0)
 {
     if (this.b.ContainsKey(A_0))
     {
         Dictionary <int, int> dictionary;
         int num;
         (dictionary = this.b)[num = A_0] = dictionary[num] + 1;
     }
     else
     {
         this.b[A_0] = 1;
     }
     if (this.b[A_0] > er.i("GhostMonsterSpellAttemptCount"))
     {
         cv cv = PluginCore.cq.p.d(A_0);
         if (((cv != null) && (cv.c() == ObjectClass.Monster)) && er.j("DeleteGhostMonsters"))
         {
             PluginCore.e("Deleting ghost monster " + cv.g() + " (" + A_0.ToString() + ")");
             dh.d(A_0);
         }
         this.b.Remove(A_0);
     }
 }
示例#12
0
    public void a(int A_0, float A_1, MySpell A_2)
    {
        if (this.e != A_0)
        {
            PluginCore.cq.ax.get_Actions().SelectItem(A_0);
            this.d.f();
            this.d.d();
        }
        cv cv = PluginCore.cq.p.d(A_0);

        if (cv != null)
        {
            this.f = cv.g();
        }
        else
        {
            this.f = "";
        }
        this.e = A_0;
        this.m = A_1;
        this.n = A_2;
        this.j = true;
        this.i = 0;
    }
示例#13
0
 public a(cv A_0)
 {
     this.a = A_0.g();
     this.b = A_0.a(dt.cn, 0);
 }
示例#14
0
 private static object e(cv A_0)
 {
     return(A_0.g());
 }
示例#15
0
 private static object c(cv A_0)
 {
     return(PluginCore.cq.x.e(A_0.g()));
 }