IsActive() публичный статический Метод

public static IsActive ( ) : bool
Результат bool
Пример #1
0
        public static void Overlay(EventArgs args)
        {
            if (!Checker.IsActive())
            {
                return;
            }
            if (Members.Menu.Item("spellpanel.Enable").GetValue <bool>() && Members.Menu.Item("spellpanel.OldMethod.Enable").GetValue <bool>())
            {
                DrawSpellPanel(Members.Menu.Item("spellpanel.Targets").GetValue <StringList>().SelectedIndex);
            }
            if (Members.Menu.Item("toppanel.Enable").GetValue <bool>())
            {
                DrawTopPanel(Members.Menu.Item("toppanel.Targets").GetValue <StringList>().SelectedIndex);
            }

            /*if (Members.Menu.Item("dangitems.Enable").GetValue<bool>())
             *  DrawDangeItems();*/
            if (Members.Menu.Item("lastPosition.Enable").GetValue <bool>())
            {
                DrawLastPosition();
            }
            if (Members.Menu.Item("netWorth.Enable").GetValue <bool>())
            {
                DrawNetWorth();
            }
        }
Пример #2
0
 private static void Drawing_OnDraw(EventArgs args)
 {
     if (!Checker.IsActive())
     {
         return;
     }
     if (!IsEnable)
     {
         return;
     }
     foreach (var v in Manager.HeroManager.GetEnemyViableHeroes())
     {
         try
         {
             var pos = HUDInfo.GetHPbarPosition(v);
             if (pos.IsZero)
             {
                 continue;
             }
             pos += new Vector2(0, HUDInfo.GetHpBarSizeY() - 2);
             var size      = new Vector2(HUDInfo.GetHPBarSizeX(), HUDInfo.GetHpBarSizeY() * ManaBarSize);
             var manaDelta = new Vector2(v.Mana * size.X / v.MaximumMana, 0);
             Drawing.DrawRect(pos, size, Color.Black);
             Drawing.DrawRect(pos, new Vector2(manaDelta.X, size.Y), new Color(R, G, B, 255));
             Drawing.DrawRect(pos, size, Color.Black, true);
         }
         catch (Exception)
         {
             Printer.Print($"[Manabars]: {v.StoredName()}");
         }
     }
 }
Пример #3
0
 private static void GameOnOnUpdate(EventArgs args)
 {
     try
     {
         if (!Checker.IsActive())
         {
             return;
         }
         if (!Members.Menu.Item("OpenDota.Enable").GetValue <bool>())
         {
             return;
         }
     }
     catch (Exception)
     {
         // ignored
     }
     if (_loaded)
     {
         return;
     }
     if (Check)
     {
         _loaded = true;
         Console.WriteLine("[OpenDota] [pre]Loaded");
         DelayAction.Add(500, () =>
         {
             Console.WriteLine("[OpenDota] Loaded");
             Beeeeaaaaaar();
         });
         //Beeeeaaaaaar();
     }
 }
Пример #4
0
 private static void GameOnOnUpdate(EventArgs args)
 {
     try
     {
         if (!Checker.IsActive())
         {
             return;
         }
         if (!Members.Menu.Item("odp.Enable").GetValue <bool>())
         {
             return;
         }
     }
     catch (Exception)
     {
         // ignored
     }
     if (_loaded)
     {
         return;
     }
     if (Check)
     {
         _loaded = true;
         Printer.PrintInfo("[OpenDota] Loaded");
         Beeeeaaaaaar();
     }
 }
Пример #5
0
 private static void Drawing_OnPreReset(EventArgs args)
 {
     try { if (!Checker.IsActive())
           {
               return;
           }
     } catch { }
     Text?.OnLostDevice();
 }
Пример #6
0
 private static void CurrentDomainDomainUnload(object sender, EventArgs e)
 {
     try { if (!Checker.IsActive())
           {
               return;
           }
     } catch { }
     Text?.Dispose();
 }
Пример #7
0
            public static void Drawing_OnEndScene(EventArgs args)
            {
                if (!Checker.IsActive())
                {
                    return;
                }
                if (Drawing.Direct3DDevice9 == null || Drawing.Direct3DDevice9.IsDisposed)
                {
                    return;
                }
                #region ShowRoshanTimer

                if (!Members.Menu.Item("roshanTimer.Enable").GetValue <bool>())
                {
                    return;
                }
                var text = "";
                if (!Members.RoshIsAlive)
                {
                    if (Members.RoshanMinutes < 8)
                    {
                        text =
                            $"Roshan: {7 - Members.RoshanMinutes}:{59 - Members.RoshanSeconds:0.} - {10 - Members.RoshanMinutes}:{59 - Members.RoshanSeconds:0.}";
                    }
                    else if (Members.RoshanMinutes == 8)
                    {
                        text =
                            $"Roshan: {8 - Members.RoshanMinutes}:{59 - Members.RoshanSeconds:0.} - {10 - Members.RoshanMinutes}:{59 - Members.RoshanSeconds:0.}";
                    }
                    else if (Members.RoshanMinutes == 9)
                    {
                        text =
                            $"Roshan: {9 - Members.RoshanMinutes}:{59 - Members.RoshanSeconds:0.} - {10 - Members.RoshanMinutes}:{59 - Members.RoshanSeconds:0.}";
                    }
                    else
                    {
                        text = $"Roshan: {0}:{59 - Members.RoshanSeconds:0.}";
                        if (59 - Members.RoshanSeconds <= 1)
                        {
                            Members.RoshIsAlive = true;
                        }
                    }
                }
                DrawShadowText(Members.RoshIsAlive ? "Roshan alive" : Members.DeathTime == 0 ? "Roshan death" : text, 217, 10,
                               Members.RoshIsAlive ? Color.Green : Color.Red, Members.RoshanFont);

                if (Members.AegisEvent)
                {
                    text = $"Aegis Timer: {4 - Members.AegisMinutes}:{59 - Members.AegisSeconds:0.}";
                    DrawShadowText(text, 217, 27, Color.GreenYellow, Members.RoshanFont);
                }

                #endregion
            }
Пример #8
0
 public static void CurrentDomainDomainUnload(object sender, EventArgs e)
 {
     if (!Checker.IsActive())
     {
         return;
     }
     if (Members.RoshanFont != null)
     {
         Members.RoshanFont.Dispose();
     }
 }
Пример #9
0
 private static void Game_OnUpdate(EventArgs args)
 {
     if (!Checker.IsActive())
     {
         return;
     }
     ShowMeMore.ShowIllustion();
     ShowMeMore.ShowMeMoreSpells();
     AutoItems.Action();
     Runes.Action();
 }
Пример #10
0
 public static void Drawing_OnPreReset(EventArgs args)
 {
     if (!Checker.IsActive())
     {
         return;
     }
     if (Members.RoshanFont != null)
     {
         Members.RoshanFont.OnLostDevice();
     }
 }
Пример #11
0
 private static void Drawing_OnDraw(EventArgs args)
 {
     if (!Checker.IsActive())
     {
         return;
     }
     if (!IsEnable)
     {
         return;
     }
     _defSize = HUDInfo.GetHPBarSizeX() / 6 * Size;
     if (IsAlly)
     {
         foreach (var v in Manager.HeroManager.GetAllyViableHeroes())
         {
             try
             {
                 DrawItems(v, false);
             }
             catch (Exception)
             {
                 Printer.Print($"[ItemOverlay][ally]: {v.StoredName()}");
             }
         }
     }
     if (IsEnemy)
     {
         foreach (var v in Manager.HeroManager.GetEnemyViableHeroes())
         {
             try
             {
                 DrawItems(v, true);
             }
             catch (Exception)
             {
                 Printer.Print($"[ItemOverlay][enemy]: {v.StoredName()}");
             }
         }
     }
     if (IsCour)
     {
         foreach (var cour in Manager.BaseManager.GetViableCouriersList())
         {
             try
             {
                 DrawItems(cour);
             }
             catch (Exception)
             {
                 Printer.Print($"[ItemOverlay][cour]: {cour.StoredName()}");
             }
         }
     }
 }
Пример #12
0
 public static void Game_OnGameEvent(FireEventEventArgs args)
 {
     if (!Checker.IsActive())
     {
         return;
     }
     if (args.GameEvent.Name == "dota_roshan_kill")
     {
         Members.DeathTime   = Game.GameTime;
         Members.RoshIsAlive = false;
     }
 }
Пример #13
0
        private static void GameOnOnUpdate(EventArgs args)
        {
            if (!Checker.IsActive())
            {
                return;
            }
            if (!IsEnable)
            {
                return;
            }
            if (_sleeper.Sleeping)
            {
                return;
            }
            _sleeper.Sleep(500);
            InSys = InSys.Where(x => x != null && x.IsValid).ToList();
            var randomEnemy = Manager.HeroManager.GetEnemyViableHeroes().FirstOrDefault(x => !x.IsMagicImmune());

            if (randomEnemy == null || !randomEnemy.IsValid)
            {
                return;
            }
            foreach (
                var spell in
                Members.MyHero.Spellbook.Spells.Where(
                    x =>
                    !x.IsAbilityBehavior(AbilityBehavior.Passive) && !InSys.Contains(x) &&
                    (x.GetDamage(0) > 0 || WhiteList.Contains(x.Name) || AbilityDamage.CalculateDamage(x, Members.MyHero, randomEnemy) > 0)))
            {
                InSys.Add(spell);
                AddToCalcMenu(spell.StoredName());
                Log.Debug($"dmgCalc.ability.new [{spell.Name}] [{spell.GetDamage(0)}]");
            }
            try
            {
                var items = Manager.HeroManager.GetItemList(Members.MyHero);
                items =
                    items.Where(
                        x =>
                        !InSys.Contains(x) && AbilityDamage.CalculateDamage(x, Members.MyHero, randomEnemy) > 0 || x.GetDamage(0) > 0)
                    .ToList();
                foreach (var spell in items)
                {
                    InSys.Add(spell);
                    AddToCalcMenu(spell.StoredName());
                    Log.Debug($"dmgCalc.item.new [{spell.Name}]");
                }
            }
            catch (Exception)
            {
                //
            }
        }
Пример #14
0
            public static void Drawing_OnEndScene(EventArgs args)
            {
                if (!Checker.IsActive())
                {
                    return;
                }
                if (Drawing.Direct3DDevice9 == null || Drawing.Direct3DDevice9.IsDisposed)
                {
                    return;
                }
                #region ShowRoshanTimer

                if (!Members.Menu.Item("roshanTimer.Enable").GetValue <bool>())
                {
                    return;
                }
                var text = "";
                if (!Members.RoshIsAlive)
                {
                    if (Members.RoshanMinutes < 8)
                    {
                        text = string.Format("Roshan: {0}:{1:0.} - {2}:{3:0.}", 7 - Members.RoshanMinutes, 59 - Members.RoshanSeconds,
                                             10 - Members.RoshanMinutes,
                                             59 - Members.RoshanSeconds);
                    }
                    else if (Members.RoshanMinutes == 8)
                    {
                        text = string.Format("Roshan: {0}:{1:0.} - {2}:{3:0.}", 8 - Members.RoshanMinutes, 59 - Members.RoshanSeconds,
                                             10 - Members.RoshanMinutes,
                                             59 - Members.RoshanSeconds);
                    }
                    else if (Members.RoshanMinutes == 9)
                    {
                        text = string.Format("Roshan: {0}:{1:0.} - {2}:{3:0.}", 9 - Members.RoshanMinutes, 59 - Members.RoshanSeconds,
                                             10 - Members.RoshanMinutes,
                                             59 - Members.RoshanSeconds);
                    }
                    else
                    {
                        text = string.Format("Roshan: {0}:{1:0.}", 0, 59 - Members.RoshanSeconds);
                        if (59 - Members.RoshanSeconds <= 1)
                        {
                            Members.RoshIsAlive = true;
                        }
                    }
                }
                DrawShadowText(Members.RoshIsAlive ? "Roshan alive" : Members.DeathTime == 0 ? "Roshan death" : text, 217, 10,
                               Members.RoshIsAlive ? Color.Green : Color.Red, Members.RoshanFont);

                #endregion
            }
Пример #15
0
        private static void Drawing_OnDraw(EventArgs args)
        {
            if (!Checker.IsActive())
            {
                return;
            }
            if (!IsEnable)
            {
                return;
            }
            foreach (var v in Manager.HeroManager.GetEnemyViableHeroes())
            {
                try
                {
                    var pos = HUDInfo.GetHPbarPosition(v);
                    if (pos.IsZero)
                    {
                        continue;
                    }
                    pos += new Vector2(0, HUDInfo.GetHpBarSizeY() - 2);
                    var size      = new Vector2(HUDInfo.GetHPBarSizeX(), HUDInfo.GetHpBarSizeY() * ManaBarSize);
                    var manaDelta = new Vector2(v.Mana * size.X / v.MaximumMana, 0);
                    Drawing.DrawRect(pos, size, Color.Black);
                    Drawing.DrawRect(pos, new Vector2(manaDelta.X, size.Y), new Color(R, G, B, 255));
                    Drawing.DrawRect(pos, size, Color.Black, true);

                    if (IsNumsEnable)
                    {
                        var text     = $"{(int)v.Mana}/{(int)v.MaximumMana}";
                        var textSize = Drawing.MeasureText(text, "Arial",
                                                           new Vector2((float)(size.Y * DigSize), size.Y / 2), FontFlags.AntiAlias);
                        var textPos = pos + new Vector2(size.X / 2 - textSize.X / 2, size.Y - textSize.Y);

                        /*Drawing.DrawRect(textPos - new Vector2(0, 0),
                         *  new Vector2(textSize.X, textSize.Y),
                         *  new Color(0, 0, 0, 200));*/
                        Drawing.DrawText(
                            text,
                            textPos,
                            new Vector2(textSize.Y, 0),
                            Color.White,
                            FontFlags.AntiAlias | FontFlags.StrikeOut);
                    }
                }
                catch (Exception)
                {
                    Printer.Print($"[Manabars]: {v.StoredName()}");
                }
            }
        }
Пример #16
0
        private static void Drawing_OnDraw(EventArgs args)
        {
            if (!Checker.IsActive())
            {
                return;
            }
            if (!IsEnable)
            {
                return;
            }
            if (InSys == null || InSys.Count == 0)
            {
                return;
            }
            var haveEb = InSys.Any(x => x.StoredName() == "item_ethereal_blade" && x.CanBeCasted());

            foreach (var v in Manager.HeroManager.GetEnemyViableHeroes())
            {
                try
                {
                    var pos = HUDInfo.GetHPbarPosition(v);
                    if (pos.IsZero)
                    {
                        continue;
                    }
                    var myDmg = InSys.Where(x => x.CanBeCasted())
                                .Sum(
                        x =>
                        AbilityDamage.CalculateDamage(x, Members.MyHero, v,
                                                      minusMagicResistancePerc: haveEb ? 40 : 0));
                    var healthAfterShit = (int)(v.Health - myDmg);
                    var size            = HUDInfo.GetHpBarSizeY();
                    var text            = $"{healthAfterShit} ({myDmg})";
                    var textSize        = Drawing.MeasureText(text, "Arial",
                                                              new Vector2((float)(size * 1.5), 500), FontFlags.AntiAlias);
                    var textPos = pos + new Vector2(HUDInfo.GetHPBarSizeX() + 4, 0);
                    Drawing.DrawText(
                        text,
                        textPos,
                        new Vector2(textSize.Y, 0),
                        new Color(R, G, B, 255),
                        FontFlags.AntiAlias | FontFlags.StrikeOut);
                }
                catch (Exception)
                {
                    Printer.Print($"[DamageCalculation]: {v.StoredName()}");
                }
            }
        }
Пример #17
0
        private static void GameOnOnUpdate(EventArgs args)
        {
            if (!Checker.IsActive())
            {
                return;
            }
            if (!IsEnable)
            {
                return;
            }
            if (_sleeper.Sleeping)
            {
                return;
            }
            _sleeper.Sleep(500);
            InSys = InSys.Where(x => x != null && x.IsValid).ToList();
            var randomEnemy = Manager.HeroManager.GetEnemyViableHeroes().FirstOrDefault();

            if (randomEnemy == null || !randomEnemy.IsValid)
            {
                return;
            }
            foreach (
                var spell in
                Members.MyHero.Spellbook.Spells.Where(
                    x =>
                    !x.IsAbilityBehavior(AbilityBehavior.Passive) && !InSys.Contains(x) && x.Level > 0 &&
                    AbilityDamage.CalculateDamage(x, Members.MyHero, randomEnemy) > 0))
            {
                InSys.Add(spell);
            }
            try
            {
                var items = Manager.HeroManager.GetItemList(Members.MyHero);
                items =
                    items.Where(
                        x =>
                        !InSys.Contains(x) && AbilityDamage.CalculateDamage(x, Members.MyHero, randomEnemy) > 0)
                    .ToList();
                foreach (var spell in items)
                {
                    InSys.Add(spell);
                }
            }
            catch (Exception)
            {
                //
            }
        }
Пример #18
0
 public static void Update(EventArgs args)
 {
     if (!Checker.IsActive())
     {
         return;
     }
     if (_sleeper.Sleeping)
     {
         return;
     }
     _sleeper.Sleep(100);
     Members.BaseList =
         ObjectManager.GetEntities <Unit>()
         .Where(x => x.ClassID == ClassID.CDOTA_BaseNPC && x.Team == Members.MyHero.GetEnemyTeam())
         .ToList();
 }
Пример #19
0
        public static void OnModifierAdded(Unit sender, ModifierChangedEventArgs args)
        {
            if (!Checker.IsActive())
            {
                return;
            }
            var modifier = args.Modifier;
            var handle   = sender.Handle;

            if (Members.Menu.Item("charge.Enable").GetValue <bool>() && Members.BaraIsHere && sender.Team == Members.MyPlayer.Team)
            {
                if (modifier.Name == "modifier_spirit_breaker_charge_of_darkness_vision")
                {
                    ParticleEffect effect;
                    if (!BaraEffect.TryGetValue(handle, out effect))
                    {
                        var effectName = "materials/ensage_ui/particles/spirit_breaker_charge_target.vpcf";
                        if (!(sender is Hero))
                        {
                            effectName = "particles/units/heroes/hero_spirit_breaker/spirit_breaker_charge_target.vpcf";
                        }
                        BaraEffect.Add(handle,
                                       new ParticleEffect(effectName, sender, ParticleAttachment.OverheadFollow));
                        return;
                    }
                }
            }
            if (Members.Menu.Item("lifestealer.Enable").GetValue <bool>() && Members.LifeStealer != null && Members.LifeStealer.IsValid)
            {
                if (modifier.Name == "modifier_life_stealer_infest_effect")
                {
                    ParticleEffect effect;
                    if (!LifeStealerEffect.TryGetValue(handle, out effect))
                    {
                        var effectName = "materials/ensage_ui/particles/life_stealer_infested_unit.vpcf";
                        if (!(sender is Hero))
                        {
                            effectName = "particles/units/heroes/hero_life_stealer/life_stealer_infested_unit.vpcf";
                        }
                        LifeStealerEffect.Add(handle,
                                              new ParticleEffect(effectName, sender, ParticleAttachment.OverheadFollow));
                        return;
                    }
                }
            }
        }
Пример #20
0
        public static void Roshan(EventArgs args)
        {
            if (!Checker.IsActive())
            {
                return;
            }
            if (!Members.Menu.Item("roshanTimer.Enable").GetValue <bool>() || _sleeper.Sleeping)
            {
                return;
            }
            _sleeper.Sleep(1000);
            var tickDelta = Game.GameTime - Members.DeathTime;

            Members.RoshanMinutes = Math.Floor(tickDelta / 60);
            Members.RoshanSeconds = tickDelta % 60;
            var roshan =
                ObjectManager.GetEntities <Unit>()
                .FirstOrDefault(unit => unit.ClassId == ClassId.CDOTA_Unit_Roshan && unit.IsAlive);

            if (roshan != null)
            {
                Members.RoshIsAlive = true;
            }
            if (Members.AegisEvent)
            {
                tickDelta            = Game.GameTime - Members.AegisTime;
                Members.AegisMinutes = Math.Floor(tickDelta / 60);
                Members.AegisSeconds = tickDelta % 60;
                //Log.Debug($"Timer {Members.AegisMinutes}:{Members.AegisSeconds}");
                if (!Members.AegisWasFound)
                {
                    Members.Aegis = ObjectManager.GetEntities <Item>().FirstOrDefault(x => x.Name == "item_aegis");
                }
                if (Members.Aegis != null && !Members.AegisWasFound)
                {
                    Log.Debug($"Aegis found! {Members.Aegis.Owner.StoredName()}");
                    Members.AegisWasFound = true;
                }
                if (4 - Members.AegisMinutes < 0 || (Members.AegisWasFound && (Members.Aegis == null || !Members.Aegis.IsValid)))
                {
                    Members.AegisEvent    = false;
                    Members.AegisWasFound = false;
                    Log.Debug("Flush Aegis Timer");
                }
            }
        }
Пример #21
0
 public static void Update(EventArgs args)
 {
     if (!Checker.IsActive())
     {
         return;
     }
     if (_sleeper.Sleeping)
     {
         return;
     }
     _sleeper.Sleep(2000);
     if (Members.Players.Count(x => x != null && x.IsValid && x.Hero.IsValid) < 10)
     {
         Members.Players      = Players.All.Where(x => x != null && x.IsValid && x.Hero != null && x.Hero.IsValid).ToList();
         Members.AllyPlayers  = Members.Players.Where(x => x.Team == Members.MyHero.Team).ToList();
         Members.EnemyPlayers = Members.Players.Where(x => x.Team == Members.MyHero.GetEnemyTeam()).ToList();
     }
 }
Пример #22
0
        public static void Entity_OnParticleEffectAdded(Entity sender, ParticleEffectAddedEventArgs args)
        {
            if (!Checker.IsActive())
            {
                return;
            }
            var name = args.Name;

            if (true)//(Members.Invoker != null && Members.Invoker.IsValid)
            {
                if (name.Contains("particles/units/heroes/hero_invoker/invoker_emp.vpcf"))
                {
                    DelayAction.Add(10, async() =>
                    {
                        var effect      = args.ParticleEffect;
                        var a           = effect.GetControlPoint(0);
                        var rangeEffect = new ParticleEffect("materials/ensage_ui/particles/range_display_mod.vpcf", a);
                        var range       = 675;
                        rangeEffect.SetControlPoint(1, new Vector3(range, 255, 0));
                        rangeEffect.SetControlPoint(2, new Vector3(139, 0, 255));
                        //EmpRanger.Add(effect, rangeEffect);
                        await Task.Delay(2900);
                        rangeEffect.Dispose();
                    });
                }
            }
            if (!IsEnableTpCather)
            {
                return;
            }

            if (name.Contains("teleport_start") || name.Contains("teleport_end"))
            {
                DelayAction.Add(10, () =>
                {
                    var isStart = name.Contains("teleport_start");
                    var effect  = args.ParticleEffect;
                    var a       = effect.GetControlPoint(0);
                    var b       = effect.GetControlPoint(2);
                    Printer.Print($"{(isStart ? "start" : "end")} => pos: {a.PrintVector()} color: {b.PrintVector()}");
                    TeleportCatcher.Add(effect, a, b, isStart);
                });
            }
        }
Пример #23
0
 public static void Overlay(EventArgs args)
 {
     if (!Checker.IsActive())
     {
         return;
     }
     if (Members.Menu.Item("spellpanel.Enable").GetValue <bool>())
     {
         DrawSpellPanel(Members.Menu.Item("spellpanel.Targets").GetValue <StringList>().SelectedIndex);
     }
     if (Members.Menu.Item("toppanel.Enable").GetValue <bool>())
     {
         DrawTopPanel(Members.Menu.Item("toppanel.Targets").GetValue <StringList>().SelectedIndex);
     }
     if (Members.Menu.Item("dangitems.Enable").GetValue <bool>())
     {
         DrawDangeItems();
     }
 }
Пример #24
0
        public static void Game_OnGameEvent(FireEventEventArgs args)
        {
            if (!Checker.IsActive())
            {
                return;
            }

            if (args.GameEvent.Name == "dota_roshan_kill")
            {
                Members.DeathTime   = Game.GameTime;
                Members.RoshIsAlive = false;
            }
            if (args.GameEvent.Name == "aegis_event")
            {
                Members.AegisTime  = Game.GameTime;
                Members.AegisEvent = true;
                Log.Info($"Event: {args.GameEvent.Name}");
            }
        }
Пример #25
0
 public static void Draw(EventArgs args)
 {
     if (!Checker.IsActive())
     {
         return;
     }
     if (!Members.Menu.Item("runevision.DrawOnMinimap.Enable").GetValue <bool>())
     {
         return;
     }
     foreach (var rune in InSystem.Where(rune => rune != null && rune.IsValid && rune.RuneType != RuneType.Bounty))
     {
         var v     = rune;
         var size3 = new Vector2(10, 25) + new Vector2(13, -6);
         var w2M   = Helper.WorldToMinimap(v.NetworkPosition);
         var name  = RuneTypes[v.RuneType];
         Drawing.DrawRect(w2M - new Vector2(size3.X / 2, size3.Y / 2), size3,
                          Drawing.GetTexture(name));
     }
 }
Пример #26
0
        public static void Entity_OnParticleEffectAdded(Entity sender, ParticleEffectAddedEventArgs args)
        {
            if (!Checker.IsActive())
            {
                return;
            }
            if (!IsEnableTpCather)
            {
                return;
            }
            var name = args.Name;

            if (name.Contains("teleport_start") || name.Contains("teleport_end"))
            {
                DelayAction.Add(10, () =>
                {
                    var effect = args.ParticleEffect;
                    var a      = effect.GetControlPoint(0);
                    var b      = effect.GetControlPoint(2);
                    Printer.Print($"{(name.Contains("start")?"start":"end")}=>A:{a.PrintVector()} B:{b.PrintVector()}");
                    TeleportCatcher.Add(effect, a, b);
                });
            }
        }
Пример #27
0
        public static void Roshan(EventArgs args)
        {
            if (!Checker.IsActive())
            {
                return;
            }
            if (!Members.Menu.Item("roshanTimer.Enable").GetValue <bool>() || Sleeper.Sleeping)
            {
                return;
            }
            Sleeper.Sleep(1000);
            var tickDelta = Game.GameTime - Members.DeathTime;

            Members.RoshanMinutes = Math.Floor(tickDelta / 60);
            Members.RoshanSeconds = tickDelta % 60;
            var roshan =
                ObjectManager.GetEntities <Unit>()
                .FirstOrDefault(unit => unit.ClassID == ClassID.CDOTA_Unit_Roshan && unit.IsAlive);

            if (roshan != null)
            {
                Members.RoshIsAlive = true;
            }
        }
Пример #28
0
        private static void Drawing_OnEndScene(EventArgs args)
        {
            try
            {
                if (!Checker.IsActive())
                {
                    return;
                }
                if (!Members.Menu.Item("odp.Enable").GetValue <bool>())
                {
                    return;
                }
            }
            catch (Exception)
            {
                // ignored
            }

            if (Drawing.Direct3DDevice9 == null || Drawing.Direct3DDevice9.IsDisposed)
            {
                return;
            }
            if (Check)
            {
                var newlist = PlayerInfoList.ToList();
                foreach (var playerInfo in newlist)
                {
                    var id             = playerInfo.Id;
                    var startXPosition = HeroPickStageScreenHelper.GetPlayerPosition(id);
                    var position       = new Vector2(startXPosition, 35);
                    var size           = HudInfoNew.GetTopPanelSizeY();
                    position += new Vector2(0, (float)size * 1.8f);
                    var defClr = Color.White;
                    DrawShadowText(playerInfo.Name, (int)position.X, (int)position.Y, defClr);
                    position.Y += 15;
                    DrawShadowText(playerInfo.Wr, (int)position.X, (int)position.Y, defClr);
                    position.Y += 15;
                    DrawShadowText(
                        playerInfo.Solo == 0 ? $"Estimated: {playerInfo.PossibleMmr}" : $"Solo: {playerInfo.Solo}",
                        (int)position.X, (int)position.Y, defClr);
                    if (playerInfo.Party > 0)
                    {
                        position.Y += 15;
                        DrawShadowText($"Party: {playerInfo.Party}", (int)position.X, (int)position.Y, defClr);
                    }
                    var gameHistorySize = playerInfo.Matches.Length - 2;
                    if (gameHistorySize >= 1)
                    {
                        position.Y += 15;
                        for (var i = 0; i < gameHistorySize; i++)
                        {
                            var isTrue = playerInfo.Matches[i + 1] == '+';
                            var clr    = isTrue ? Color.Green : Color.Red;
                            position.X += 10;
                            var text = '⬤';//●
                            DrawShadowText($"{text}", (int)position.X, (int)position.Y, clr);
                        }
                    }
                    if (playerInfo.Country.Length > 0)
                    {
                        try
                        {
                            var n = Convert.ToInt32(playerInfo.Country);
                            if (n > 0)
                            {
                                position.Y += 15;
                                DrawShadowText($"[{playerInfo.Country}]", (int)position.X, (int)position.Y, defClr);
                            }
                        }
                        catch (Exception)
                        {
                        }
                    }
                    if (playerInfo.TotalGames.Length > 0)
                    {
                        try
                        {
                            var n = Convert.ToInt32(playerInfo.TotalGames);
                            if (n == 0)
                            {
                                continue;
                            }
                        }
                        catch (Exception)
                        {
                            continue;
                        }
                        var totalGames = Convert.ToInt32(playerInfo.TotalGames);
                        var wins       = Convert.ToInt32(playerInfo.Wins);
                        var loses      = totalGames - wins;
                        var wr         = playerInfo.WrOnCurrentHero;
                        position.Y += 15;
                        position.X  = startXPosition;
                        DrawShadowText($"[{playerInfo.Hero?.GetRealName()}: {wins}/{loses} ({wr}%)]", (int)position.X, (int)position.Y, defClr);
                    }
                }
            }
        }
Пример #29
0
        public static void Draw(EventArgs args)
        {
            if (!Checker.IsActive())
            {
                return;
            }
            if (!Members.Menu.Item("showmemore.Enable").GetValue <bool>())
            {
                return;
            }
            if (Members.Menu.Item("apparition.Enable").GetValue <bool>() && AAunit != null && AAunit.IsValid)
            {
                try
                {
                    var aapos = Drawing.WorldToScreen(AAunit.Position);
                    if (!aapos.IsZero)
                    {
                        var myHeroPos = Drawing.WorldToScreen(Members.MyHero.Position);
                        if (!myHeroPos.IsZero)
                        {
                            Drawing.DrawLine(Drawing.WorldToScreen(Members.MyHero.Position), aapos, Color.AliceBlue);
                            const string name = "materials/ensage_ui/spellicons/ancient_apparition_ice_blast.vmat";
                            Drawing.DrawRect(aapos, new Vector2(50, 50), Drawing.GetTexture(name));
                        }
                    }
                }
                catch (Exception)
                {
                    Printer.Print("[Draw]: Apparation");
                }
            }
            if (Members.Menu.Item("tinker.Enable").GetValue <bool>())
            {
                try
                {
                    if (Members.Tinker != null && Members.Tinker.IsValid)
                    {
                        var baseList =
                            Manager.BaseManager.GetBaseList()
                            .Where(x => x.IsAlive && x.HasModifier("modifier_tinker_march_thinker"));
                        foreach (var unit in baseList)
                        {
                            var realPos = unit.Position;
                            var pos     = Drawing.WorldToScreen(realPos);
                            var texture = Textures.GetSpellTexture("tinker_march_of_the_machines");
                            if (pos.X > 0 && pos.Y > 0)
                            {
                                Drawing.DrawRect(pos, new Vector2(50, 50), texture);
                            }
                            var pos2 = Helper.WorldToMinimap(realPos);
                            Drawing.DrawRect(pos2 - new Vector2(10, 10), new Vector2(10, 10), texture);
                        }
                    }
                }
                catch (Exception)
                {
                    Printer.Print("[Draw]: Tinker");
                }
            }
            if (Members.Menu.Item("tech.Enable").GetValue <bool>())
            {
                try
                {
                    if (Members.Techies != null && Members.Techies.IsValid)
                    {
                        var baseList =
                            ObjectManager.GetEntities <Unit>()
                            .Where(x => x.IsAlive && x.ClassID == ClassID.CDOTA_NPC_TechiesMines && x.Team != Members.MyHero.Team && !Bombs.Contains(x));
                        foreach (var unit in baseList)
                        {
                            Bombs.Add(unit);
                        }
                        foreach (var bomb in Bombs)
                        {
                            if (!bomb.IsValid)
                            {
                                continue;
                            }
                            if (bomb.IsVisible)
                            {
                                continue;
                            }
                            var realPos = bomb.Position;
                            var pos     = Drawing.WorldToScreen(realPos);
                            var texture = bomb.Spellbook.Spell1 != null
                                ? Textures.GetTexture("materials/ensage_ui/other/npc_dota_techies_remote_mine.vmat")
                                : Textures.GetTexture("materials/ensage_ui/other/npc_dota_techies_land_mine.vmat");

                            if (pos.X > 0 && pos.Y > 0)
                            {
                                Drawing.DrawRect(pos, new Vector2(50, 50), texture);
                            }
                            var pos2 = Helper.WorldToMinimap(realPos);
                            Drawing.DrawRect(pos2 - new Vector2(15, 15), new Vector2(15, 15), texture);
                        }
                    }
                }
                catch (Exception)
                {
                    Printer.Print("[Draw]: Techies");
                }
            }
            if (Members.Menu.Item("scan.Enable").GetValue <bool>())
            {
                if (Members.ScanEnemy != null && Members.ScanEnemy.IsValid)
                {
                    try
                    {
                        var position = Members.ScanEnemy.Position;
                        var w2S      = Drawing.WorldToScreen(position);
                        if (!w2S.IsZero)
                        {
                            Drawing.DrawText(
                                "Scan Ability " +
                                Members.ScanEnemy.FindModifier("modifier_radar_thinker").RemainingTime.ToString("F1"),
                                w2S,
                                new Vector2(15, 15),
                                Color.White,
                                FontFlags.AntiAlias | FontFlags.StrikeOut);
                        }
                    }
                    catch (Exception)
                    {
                        Printer.Print("[Draw]: scan");
                    }
                }
            }
            if (Members.Menu.Item("charge.Enable").GetValue <bool>() && Members.BaraIsHere)
            {
                try
                {
                    foreach (var v in Manager.HeroManager.GetAllyViableHeroes())
                    {
                        var mod = v.HasModifier("modifier_spirit_breaker_charge_of_darkness_vision");
                        if (mod)
                        {
                            if (Equals(Members.MyHero, v))
                            {
                                Drawing.DrawRect(new Vector2(0, 0), new Vector2(Drawing.Width, Drawing.Height),
                                                 new Color(Members.Menu.Item("charge" + ".Red").GetValue <Slider>().Value,
                                                           Members.Menu.Item("charge" + ".Green").GetValue <Slider>().Value,
                                                           Members.Menu.Item("charge" + ".Blue").GetValue <Slider>().Value,
                                                           Members.Menu.Item("charge" + ".Alpha").GetValue <Slider>().Value));
                            }
                            if (!InSys.Contains(v))
                            {
                                Helper.GenerateSideMessage(v.Name.Replace("npc_dota_hero_", ""),
                                                           "spirit_breaker_charge_of_darkness");
                                InSys.Add(v);
                            }
                            else
                            {
                                var pos = HUDInfo.GetHPbarPosition(v);
                                if (!pos.IsZero)
                                {
                                    Drawing.DrawRect(pos - new Vector2(50, 0), new Vector2(30, 30),
                                                     Textures.GetSpellTexture("spirit_breaker_charge_of_darkness"));
                                    Drawing.DrawRect(pos - new Vector2(50, 0), new Vector2(30, 30),
                                                     Color.Red, true);
                                }
                            }
                        }
                        else
                        {
                            if (InSys.Contains(v))
                            {
                                InSys.Remove(v);
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    Printer.Print("[Draw]: charge " + e.Message);
                }
            }
            if (Members.Menu.Item("lifestealer.Enable").GetValue <bool>() && Members.LifeStealer != null && Members.LifeStealer.IsValid && !Members.LifeStealer.IsVisible)
            {
                try
                {
                    const string modname = "modifier_life_stealer_infest_effect";
                    foreach (var t in Manager.HeroManager.GetEnemyViableHeroes().Where(x => x.HasModifier(modname)))
                    {
                        var size3  = new Vector2(10, 20) + new Vector2(13, -6);
                        var w2SPos = HUDInfo.GetHPbarPosition(t);
                        if (w2SPos.IsZero)
                        {
                            continue;
                        }
                        var name = "materials/ensage_ui/miniheroes/" +
                                   Members.LifeStealer.StoredName().Replace("npc_dota_hero_", "") + ".vmat";
                        Drawing.DrawRect(w2SPos - new Vector2(size3.X / 2, size3.Y / 2), size3,
                                         Drawing.GetTexture(name));
                    }
                    if (Members.Menu.Item("lifestealer.creeps.Enable").GetValue <bool>())
                    {
                        foreach (var t in Creeps.All.Where(x => x != null && x.IsAlive && x.HasModifier(modname)))
                        {
                            var size3  = new Vector2(10, 20) + new Vector2(13, -6);
                            var w2SPos = HUDInfo.GetHPbarPosition(t);
                            if (w2SPos.IsZero)
                            {
                                continue;
                            }
                            var name = "materials/ensage_ui/miniheroes/" +
                                       Members.LifeStealer.StoredName().Replace("npc_dota_hero_", "") + ".vmat";
                            Drawing.DrawRect(w2SPos - new Vector2(size3.X / 2, size3.Y / 2), size3,
                                             Drawing.GetTexture(name));
                        }
                    }
                }
                catch (Exception)
                {
                    Printer.Print("[Draw]: lifestealer");
                }
            }
            if (Members.Menu.Item("blur.Enable").GetValue <bool>() && Members.PAisHere != null && Members.PAisHere.IsValid)
            {
                try
                {
                    var mod = Members.PAisHere.HasModifier("modifier_phantom_assassin_blur_active");
                    if (mod && Members.PAisHere.StoredName() == "npc_dota_hero_phantom_assassin")
                    {
                        var size3 = new Vector2(10, 20) + new Vector2(13, -6);
                        var w2M   = Helper.WorldToMinimap(Members.PAisHere.NetworkPosition);
                        var name  = "materials/ensage_ui/miniheroes/" +
                                    Members.PAisHere.StoredName().Replace("npc_dota_hero_", "") + ".vmat";
                        Drawing.DrawRect(w2M - new Vector2(size3.X / 2, size3.Y / 2), size3,
                                         Drawing.GetTexture(name));
                    }
                }
                catch (Exception)
                {
                    Printer.Print("[Draw]: phantom assasin");
                }
            }
        }
Пример #30
0
 public static void Draw(EventArgs args)
 {
     if (!Checker.IsActive())
     {
         return;
     }
     if (!Members.Menu.Item("showmemore.Enable").GetValue <bool>())
     {
         return;
     }
     if (AAunit != null && AAunit.IsValid)
     {
         var aapos = Drawing.WorldToScreen(AAunit.Position);
         if (aapos.X > 0 && aapos.Y > 0)
         {
             Drawing.DrawLine(Drawing.WorldToScreen(Members.MyHero.Position), aapos, Color.AliceBlue);
             const string name = "materials/ensage_ui/spellicons/ancient_apparition_ice_blast.vmat";
             Drawing.DrawRect(aapos, new Vector2(50, 50), Drawing.GetTexture(name));
         }
     }
     if (Members.BaraIsHere)
     {
         foreach (var v in Manager.HeroManager.GetAllyViableHeroes())
         {
             var mod = v.HasModifier("modifier_spirit_breaker_charge_of_darkness_vision");
             if (mod)
             {
                 if (Equals(Members.MyHero, v))
                 {
                     Drawing.DrawRect(new Vector2(0, 0), new Vector2(Drawing.Width, Drawing.Height),
                                      new Color(Members.Menu.Item("charge" + ".Red").GetValue <Slider>().Value,
                                                Members.Menu.Item("charge" + ".Green").GetValue <Slider>().Value,
                                                Members.Menu.Item("charge" + ".Blue").GetValue <Slider>().Value,
                                                Members.Menu.Item("charge" + ".Alpha").GetValue <Slider>().Value));
                 }
                 if (!InSys.Contains(v))
                 {
                     Helper.GenerateSideMessage(v.Name.Replace("npc_dota_hero_", ""),
                                                "spirit_breaker_charge_of_darkness");
                     InSys.Add(v);
                 }
             }
             else
             {
                 if (InSys.Contains(v))
                 {
                     InSys.Remove(v);
                 }
             }
         }
     }
     if (Members.PAisHere != null)
     {
         var mod = Members.PAisHere.HasModifier("modifier_phantom_assassin_blur_active");
         if (mod && Members.PAisHere.StoredName() == "npc_dota_hero_phantom_assassin")
         {
             var size3 = new Vector2(10, 20) + new Vector2(13, -6);
             var w2M   = Helper.WorldToMinimap(Members.PAisHere.NetworkPosition);
             var name  = "materials/ensage_ui/miniheroes/" +
                         Members.PAisHere.StoredName().Replace("npc_dota_hero_", "") + ".vmat";
             Drawing.DrawRect(w2M - new Vector2(size3.X / 2, size3.Y / 2), size3,
                              Drawing.GetTexture(name));
         }
     }
 }