public Class46(string string_2, string string_3) { Func<Cell, bool> func = null; this.scene_0 = null; this.d3Actor_0 = null; this.vector3_0 = null; this.bool_1 = false; this.cell_0 = null; this.list_0 = null; this.int_0 = 0; this.list_1 = null; this.ienumerable_0 = null; this.cell_1 = null; this.list_2 = null; this.int_1 = 0; this.list_3 = new List<Vector3>(); this.int_2 = 0; this.int_3 = 0; //base..ctor(); this.finderState_0 = Class46.FinderState.SearchForTargetScene; if (string.IsNullOrWhiteSpace(string_2)) { IEnumerable<Scene> arg_B3_0 = Framework.Navigator.LoadedScenes; if (Class46.func_0 == null) { Class46.func_0 = new Func<Scene, bool>(Class46.smethod_1); } Scene scene = arg_B3_0.First(Class46.func_0); IEnumerable<Cell> arg_D5_0 = Framework.Navigator.AllCells; if (func == null) { func = new Func<Cell, bool>(this.method_3); } this.ienumerable_0 = arg_D5_0.Where(func); this.scene_0 = scene; this.string_0 = scene.SNOName; this.finderState_0 = Class46.FinderState.SearchForUnit; } else { this.string_0 = string_2; } if (string.IsNullOrWhiteSpace(string_3)) { this.bool_0 = true; this.string_1 = ""; } else { this.bool_0 = false; this.string_1 = string_3; } }
internal bool method_0(D3Actor d3Actor_0, Vector3 vector3_0, float float_0) { float num = Vector3.DistanceSquared(vector3_0, d3Actor_0.Position); bool result; if (num > float_0) { result = false; } else { float num2 = Class44.smethod_0(vector3_0, d3Actor_0.Position); result = (num2 * num2 <= float_0); } return result; }
internal override bool vmethod_0() { Class47.Class99 @class = new Class47.Class99(); int arg_0B_0 = Environment.TickCount; for (int i = 0; i < Class47.list_1.Count; i++) { if (Class47.list_1[i].method_0()) { Class47.list_1.RemoveAt(i--); } } bool result; if (Environment.TickCount < this.int_1) { result = true; } else { if (this.d3Actor_0 != null) { if (this.method_2(this.d3Actor_0)) { result = true; return result; } this.d3Actor_0 = null; } List<D3Actor> list = new List<D3Actor>(); @class.vector3_0 = Framework.Hero.Position; foreach (D3Actor current in Framework.Actors) { float num = 0f; if (this.method_1(current, out num) && base.method_0(current, @class.vector3_0, num * num)) { list.Add(current); } } this.d3Actor_0 = list.OrderBy(new Func<D3Actor, float>(@class.method_0)).FirstOrDefault<D3Actor>(); result = (this.d3Actor_0 != null); } return result; }
internal override bool vmethod_0() { Func<D3Actor, bool> func = null; bool result; if (GClass0.smethod_0().float_2 == 0f) { result = false; } else { if (this.int_1 > 0) { result = true; } else { for (int i = 0; i < Class48.list_1.Count; i++) { if (Class48.list_1[i].method_0()) { Class48.list_1.RemoveAt(i--); } } if (this.d3Actor_0 != null) { float num = 0f; if (!this.method_1(this.d3Actor_0, out num)) { this.d3Actor_0 = null; } } if (this.d3Actor_0 != null) { IEnumerable<D3Actor> arg_B8_0 = Framework.Actors; if (func == null) { func = new Func<D3Actor, bool>(this.method_2); } bool flag = arg_B8_0.FirstOrDefault(func) == null; float num = 0f; if (!this.method_1(this.d3Actor_0, out num) || flag) { this.d3Actor_0 = null; } } D3Actor d3Actor = this.d3Actor_0; List<D3Actor> list = Framework.Actors.ToList<D3Actor>(); Vector3 position = Framework.Hero.Position; List<D3Actor> list2 = new List<D3Actor>(); foreach (D3Actor current in list) { float num2 = 0f; if (this.method_1(current, out num2)) { float num3 = Class44.smethod_0(position, current.Position); if (num3 != 0f && num3 < num2) { if (InjectedWindow.Instance.class71_0.UseCustomItemFactors && InjectedWindow.Instance.class71_0.CustomItemFactors != null) { float num4 = Class100.smethod_1(current); if (num4 < InjectedWindow.Instance.class71_0.CustomItemFactors_MinimumValue) { Class48.list_1.Add(new Class97(current.Modelname, 0, true)); GClass0.smethod_0().method_5("Banning item: " + current.Modelname + ", because its calculated value is too bad."); result = false; return result; } } list2.Add(current); } } } IEnumerable<D3Actor> arg_22D_0 = list2; if (Class48.func_0 == null) { Class48.func_0 = new Func<D3Actor, float>(Class48.smethod_1); } IOrderedEnumerable<D3Actor> source = arg_22D_0.OrderBy(Class48.func_0); this.d3Actor_0 = source.FirstOrDefault<D3Actor>(); if (this.d3Actor_0 == null && d3Actor != null) { this.d3Actor_0 = d3Actor; result = true; } else { if (this.d3Actor_0 != null && d3Actor != null) { float num5 = Class44.smethod_0(position, this.d3Actor_0.Position); float num6 = Class44.smethod_0(position, d3Actor.Position); if (num5 == 0f || num6 == 0f) { result = true; } else { if (num6 + 10f < num5) { this.d3Actor_0 = d3Actor; } result = true; } } else { result = false; } } } } return result; }
private static bool smethod_0(D3Actor d3Actor_1) { return d3Actor_1.Guid == Framework.LastHoverGUID; }
private static void smethod_3() { (Environment.TickCount - Framework.int_0).smethod_0(0, 300); Framework.int_0 = Environment.TickCount; Class30.smethod_0("Hook start"); try { lock (Framework.object_0) { Class30.smethod_0("Start RActors"); Framework.Actors.Clear(); uint num = 0u; uint rActors = Helper.smethod_1(Helper.smethod_1(22522396u) + 2224u); int num2 = -1; uint num3 = Framework.delegate22_0(); Framework.Hero = null; while (Framework.IterateActors(rActors, ref num2, out num) != 0u) { D3Actor d3Actor = new D3Actor(new IntPtr((long)((ulong)num))); if (d3Actor.Guid == num3) { Framework.Hero = new HeroActor(new IntPtr((long)((ulong)num))); } if (!Class31.smethod_0(d3Actor.UInt32_0)) { Framework.Actors.Add(d3Actor); } } Class30.smethod_0("End RActors, start Scenes"); if (Framework.IsIngame) { Framework.Navigator.Pulse(); } Class30.smethod_0("QuestData"); D3QuestStatus.smethod_0(); Class30.smethod_0("SyncActions"); foreach (Action current in Framework.list_0.ToList<Action>()) { try { current(); } catch { } } Framework.list_0.Clear(); Framework.bool_0 = true; } } catch (Exception ex) { Framework.smethod_0("Error:" + ex.Message); } Class30.smethod_0("Engine start"); if (Framework.eventHandler_0 != null) { Framework.eventHandler_0(null, null); } Class30.smethod_0("Engine end"); }
internal override void vmethod_1() { Func<D3Actor, bool> func = null; Func<Cell, float> func2 = null; this.bool_1 = true; if (this.int_0 > 0) { this.int_0--; } else { this.int_0 = 5; switch (this.finderState_0) { case Class46.FinderState.SearchForTargetScene: this.method_1(); break; case Class46.FinderState.MoveToTargetScene: if (Framework.Scene.Contains(this.string_0)) { if (this.bool_0) { GClass0.smethod_0().method_5("Maze: Complete"); } else { this.finderState_0 = Class46.FinderState.SearchForUnit; GClass0.smethod_0().method_5("Maze: found target scene, now looking for: " + this.string_1); } } else { if (this.list_1 == null || this.int_2 != Class45.LastRan || this.int_3 != Class48.LastRan) { this.int_2 = Class45.LastRan; this.int_3 = Class48.LastRan; this.list_1 = Framework.Navigator.GetPath(Framework.Hero.Position, this.cell_1.Center, 10f, 20f); } while (this.list_1.Count > 0 && Framework.Hero.DistanceTo(this.list_1[0]) < 20f) { this.list_1.RemoveAt(0); } if (this.list_1.Count > 0) { Movement.MoveTo(this.list_1[0]); } else { this.finderState_0 = Class46.FinderState.SearchForTargetScene; } } break; case Class46.FinderState.SearchForUnit: { IEnumerable<D3Actor> arg_1BA_0 = Framework.Actors; if (func == null) { func = new Func<D3Actor, bool>(this.method_4); } this.d3Actor_0 = arg_1BA_0.FirstOrDefault(func); if (this.d3Actor_0 != null) { this.finderState_0 = Class46.FinderState.MoveToUnit; GClass0.smethod_0().method_5("Maze: Target found: " + this.string_1); } else { if (this.cell_0 != null && Framework.Hero.DistanceTo(this.cell_0.Center) < 30f) { this.cell_0 = null; } if (this.cell_0 == null) { this.cell_0 = this.ienumerable_0.ElementAtOrDefault(Class46.random_0.Next(this.ienumerable_0.Count<Cell>())); } if (this.cell_0 != null) { Movement.MoveTo(this.cell_0.Center); } } break; } case Class46.FinderState.MoveToUnit: if (this.cell_0 == null) { IEnumerable<Cell> arg_2A5_0 = this.ienumerable_0; if (func2 == null) { func2 = new Func<Cell, float>(this.method_5); } this.cell_0 = arg_2A5_0.OrderBy(func2).FirstOrDefault<Cell>(); } if (this.cell_0 != null) { this.list_0 = Framework.Navigator.GetPath(Framework.Hero.Position, this.cell_0.Center, 10f, 20f); while (this.list_0.Count > 0 && Framework.Hero.DistanceTo(this.list_0[0]) < 20f) { this.list_0.RemoveAt(0); } if (this.list_0.Count > 0) { Movement.MoveTo(this.list_0[0]); } } break; default: throw new InvalidOperationException("Maze internal state corrupted"); } } }
private bool method_3(D3Actor d3Actor_0) { return d3Actor_0.Modelname.Contains(this.string_0); }
public static void RequestWaypointTeleport(int Index, D3Actor Waypoint) { Framework.smethod_1("Using a teleporter"); if (Waypoint != null) { uint objectGuid = Waypoint.ObjectGuid; if (objectGuid != 4294967295u) { uint num = Framework.delegate1_0(objectGuid); if (num != 4294967295u) { Struct7 @struct = new Struct7(Index, num); IntPtr intPtr = Marshal.AllocHGlobal(16); Marshal.StructureToPtr(@struct, intPtr, true); Framework.delegate19_0(151u, intPtr, 16); Marshal.FreeHGlobal(intPtr); } } } }
private bool method_2(D3Actor d3Actor_0) { return d3Actor_0.Modelname == this.attributeViewer_0.string_0; }
private static bool smethod_0(D3Actor d3Actor_1) { return d3Actor_1.Modelname.StartsWith("Waypoint"); }
public bool method_0(D3Actor d3Actor_0) { return (ulong)d3Actor_0.Guid == (ulong)((long)this.int_0); }
public Class39(D3Actor d3Actor_1, float float_1, bool bool_1, int int_0) { this.Actor = d3Actor_1; this.DistanceSquared = float_1; this.DirectlyVisible = bool_1; }
public void method_0() { float num = 3.40282347E+38f; foreach (D3Actor current in Framework.Actors) { if (current.IsD3Object && current.Guid != Framework.Hero.Guid && (current.Team == D3Team.HoverableNeutral || current.Team == D3Team.Friendly)) { float num2 = current.DistanceToHero(); if (num2 < num) { this.d3Actor_0 = current; num = num2; } } } }
private static bool smethod_1(D3Actor d3Actor_0) { return d3Actor_0.UInt32_0 == 130400u; }
private static bool smethod_4(D3Actor d3Actor_0) { return d3Actor_0.UInt32_0 == 195170u; }
public void method_0() { foreach (D3Actor current in Framework.Actors) { if (current.IsD3Object && current.Guid != Framework.Hero.Guid && (current.Team == D3Team.HoverableNeutral || current.Team == D3Team.Friendly)) { float num = current.DistanceToHero(); if (num < this.float_0) { this.d3Actor_0 = current; this.float_0 = num; } } } }
private static float smethod_1(D3Actor d3Actor_0) { return d3Actor_0.DistanceToHero(); }
public void method_0() { IEnumerable<D3Actor> arg_23_0 = Framework.Actors; if (ScriptEditor.Class76.func_0 == null) { ScriptEditor.Class76.func_0 = new Func<D3Actor, bool>(ScriptEditor.Class76.smethod_0); } this.d3Actor_0 = arg_23_0.FirstOrDefault(ScriptEditor.Class76.func_0); }
public bool method_0(D3Actor d3Actor_0) { return d3Actor_0.Guid == this.uint_0; }
private static bool smethod_0(D3Actor d3Actor_0) { return d3Actor_0.Modelname.Contains("Portal"); }
private bool method_4(D3Actor d3Actor_1) { return d3Actor_1.Modelname.Contains(this.string_1); }
private bool method_0(D3Actor d3Actor_0) { return (ulong)d3Actor_0.UInt32_0 == (ulong)((long)this.int_0); }
private static float smethod_1(D3Actor d3Actor_1) { return Class44.smethod_0(d3Actor_1.Position, Framework.Hero.Position); }
public static uint GetServerGUID(D3Actor a) { uint result; if (a.IsD3Object) { result = Framework.delegate1_0(a.ObjectGuid); } else { result = 0u; } return result; }
private bool method_1(D3Actor d3Actor_1, out float float_0) { Func<Class97, bool> func = null; Class48.Class101 @class = new Class48.Class101(); @class.d3Actor_0 = d3Actor_1; float_0 = GClass0.smethod_0().float_2; bool result; if (@class.d3Actor_0 == null) { result = false; } else { if (Framework.Actors.FirstOrDefault(new Func<D3Actor, bool>(@class.method_0)) == null) { result = false; } else { if (Class48.list_1.FirstOrDefault(new Func<Class97, bool>(@class.method_1)) != null) { result = false; } else { if (@class.d3Actor_0.GetInt((D3Attribute)4294963682u) == 1) { result = false; } else { if (@class.d3Actor_0.GetFloat((D3Attribute)4294963307u) > 0f) { result = !InjectedWindow.Instance.class71_0.DontPickupPotions; } else { if (@class.d3Actor_0.GetInt((D3Attribute)4294963553u) == 1) { IEnumerable<Class97> arg_102_0 = Class48.list_1; if (func == null) { func = new Func<Class97, bool>(@class.method_2); } if (arg_102_0.FirstOrDefault(func) == null) { Class48.list_1.Add(new Class97(@class.d3Actor_0.Modelname, 0, true)); GClass0.smethod_0().method_5("Banning item: " + @class.d3Actor_0.Modelname + ", because it has already been operated"); } result = false; } else { if (@class.d3Actor_0.GetInt((D3Attribute)4294963545u) == 1) { result = false; } else { if (@class.d3Actor_0.GetInt((D3Attribute)4294963257u) > InjectedWindow.Instance.class71_0.MinimumGoldToLoot) { result = true; } else { if (@class.d3Actor_0.GetInt((D3Attribute)4294963494u) >= (int)Class48.d3ItemRarity_0) { result = true; } else { foreach (Class42 current in Class48.list_0) { if (current.ModelId != -1 && (ulong)@class.d3Actor_0.UInt32_0 == (ulong)((long)current.ModelId)) { float_0 = current.method_0(); result = true; return result; } } foreach (Class42 current in Class48.list_0) { if (current.ModelId == -1 && @class.d3Actor_0.Modelname.Contains(current.ModelNameSubstring)) { float_0 = current.method_0(); result = true; return result; } } result = false; } } } } } } } } } return result; }
public static bool UsePower_Target(uint ActionID, D3Actor target) { bool result; if (target == null) { Framework.smethod_0("UsePower: TARGET == NULL"); result = false; } else { result = Framework.smethod_4(ActionID, target.ObjectGuid, target.Position, true); } return result; }
private bool method_2(D3Actor d3Actor_1) { return d3Actor_1.Modelname == this.d3Actor_0.Modelname; }
private bool method_2(D3Actor d3Actor_0) { bool result; if (d3Actor_0 == null) { result = false; } else { if (d3Actor_0.Team != D3Team.Diablo) { result = false; } else { if (d3Actor_0.GetFloat((D3Attribute)4294963302u) < 0.0011f) { result = false; } else { if (d3Actor_0.GetInt((D3Attribute)4294963292u) == 1) { result = false; } else { if (d3Actor_0.GetInt((D3Attribute)4294963431u) == 1) { result = false; } else { if (Class138.smethod_0(d3Actor_0.UInt32_0)) { result = false; } else { foreach (Class41 current in Class45.list_3) { if (d3Actor_0.Modelname == current.ActorName) { result = false; return result; } } result = true; } } } } } } return result; }
public bool method_0(D3Actor d3Actor_1) { return d3Actor_1.Guid == this.d3Actor_0.Guid && d3Actor_1.Modelname == this.d3Actor_0.Modelname; }