private static bool canKill(creepHealthTick c, Unit u)
        {
            legioncommanderAttackDelay = legioncommanderAttackDelay / (1 + ObjectMgr.LocalHero.AttackSpeedValue);
            var ping2ms = Game.Ping / 1000;
            var tickDmg = c.dmgPerTick;
            var myDamage = ObjectMgr.LocalHero.DamageAverage;
            var bonusDamage = ObjectMgr.LocalHero.BonusDamage;
            var damageWhileTurning = tickDmg * (GetTurnTime(u) + ping2ms);
            var damageWhileWinding = tickDmg * legioncommanderAttackDelay;
            //var damageWhileTravel = (ObjectMgr.LocalHero.Position.Distance(u.Position) / ObjectMgr.LocalHero.MovementSpeed) * tickDmg;

            if (u.DamageTaken(myDamage + bonusDamage + damageWhileTurning + damageWhileWinding, DamageType.Physical, ObjectMgr.LocalHero, false) >= c.health && (damageWhileTurning + damageWhileWinding) < c.health && ObjectMgr.LocalHero.Position.Distance2D(u) < ObjectMgr.LocalHero.AttackRange)
            {
               // Console.WriteLine("HEALTH: " + c.health.ToString() + " " + myDamage + " " + bonusDamage + " " + damageWhileTurning + " " + damageWhileWinding + " " + damageWhileTravel);

                if (u.Team == ObjectMgr.LocalHero.Team)
                {
                    if (c.health < u.MaximumHealth / 2)
                    {
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
                else
                {
                    return true;
                }

            }
            else
            {
                return false;
            }
        }
        private static void Game_OnUpdate(EventArgs args)
        {
            if (!loaded)
            {
                me = ObjectMgr.LocalHero;
                if (!Game.IsInGame || me == null || me.ClassID != ClassID.CDOTA_Unit_Hero_Legion_Commander)
                {
                    return;
                }
                loaded = true;

                Console.WriteLine("Jew legioncommander Loaded");
                armlet = null;
                bMail = null;
                mjol = null;
                bkb = null;
                blinkDag = null;
                drawAArange();
            }

                armlet = me.Inventory.Items.FirstOrDefault(x => x.ClassID == ClassID.CDOTA_Item_Armlet);

                bMail = me.Inventory.Items.FirstOrDefault(x => x.Name == "item_blade_mail");

                mjol = me.Inventory.Items.FirstOrDefault(x => x.Name == "item_mjollnir");

                bkb = me.Inventory.Items.FirstOrDefault(x => x.Name == "item_black_king_bar");

                blinkDag = me.Inventory.Items.FirstOrDefault(x => x.ClassID == ClassID.CDOTA_Item_BlinkDagger);

            CreepList = ObjectMgr.GetEntities<Creep>()
                   .Where(
                    minion =>
                                    (minion.Team == ObjectMgr.LocalHero.Team || minion.Team == ObjectMgr.LocalHero.GetEnemyTeam()) && minion.IsAlive && ObjectMgr.LocalHero.Distance2D(minion) <= ObjectMgr.LocalHero.AttackRange * 3)
                                   .OrderByDescending(minion => minion.ClassID == ClassID.CDOTA_BaseNPC_Creep_Siege)
                                   .ThenByDescending(minion => minion.Team == ObjectMgr.LocalHero.Team)
                                   .ThenBy(minion => minion.Health);
                                   //.ThenByDescending(minion => Math.Abs((int)minion.Health - (int)minion.MaximumHealth))
                                   //.ThenBy(minion => minion.Health)
                                   //.ThenByDescending(minion => minion.MaximumHealth);

            FriendlyCreeps = ObjectMgr.GetEntities<Creep>()
                  .Where(
                   minion =>
                                  minion.Team == ObjectMgr.LocalHero.Team && ObjectMgr.LocalHero.Distance2D(minion) <= ObjectMgr.LocalHero.AttackRange * 3);

            Enemies = ObjectMgr.GetEntities<Hero>()
                .Where(
                 EnemyHero =>
                                EnemyHero.IsValidTarget() && ObjectMgr.LocalHero.Distance2D(EnemyHero) <= ObjectMgr.LocalHero.AttackRange)
                                .OrderBy(EnemyHero => EnemyHero.Health);

            foreach (Creep c in CreepList)
            {
                if (!healthPredict.ContainsKey(c))
                {
                    creepHealthTick cht = new creepHealthTick();
                    cht.health = c.Health;
                    cht.lastTick = Game.GameTime;
                    cht.dmgPerTick = 0;

                    healthPredict.Add(c, cht);

                } else {

                    creepHealthTick lastval = healthPredict[c];

                    if (Game.GameTime - lastval.lastTick >= 1)
                    {
                        creepHealthTick newval = new creepHealthTick();

                        newval.health = c.Health;
                        newval.lastTick = Game.GameTime;
                        newval.dmgPerTick = (lastval.health - newval.health);

                        healthPredict[c] = newval;
                    }
                }
            }

            if (!Game.IsInGame || me == null || me.ClassID != ClassID.CDOTA_Unit_Hero_Legion_Commander)
            {
                loaded = false;
                Console.WriteLine("Jew Legion Commander Unloaded");
                return;
            }

            if (Game.IsPaused)
            {
                return;
            }
        }