コード例 #1
0
 private void Game_OnUpdate(EventArgs args)
 {
     if (!Enable)
     {
         Utility.HpBarDamageIndicator.Enabled = false;
         CustomDamageIndicator.Enabled        = false;
         return;
     }
     if ((IsCombo || IsHarass) && Orbwalking.CanMove(Orbwalking.Orbwalker._config.Item("ExtraWindup").GetValue <Slider>().Value) &&
         (Q.IsReady() || E.IsReady()))
     {
         Orbwalker.SetAttack(false);
     }
     else
     {
         Orbwalker.SetAttack(true);
     }
     if (autokillsteal && !activeAssasin)
     {
         killstealUpdate();
     }
     if (IsCombo)
     {
         comboupdate();
     }
     if (IsHarass && Player.ManaPercent >= manaharass)
     {
         harassupdate();
     }
     if (IsClear && Player.ManaPercent >= manaclear)
     {
         ClearOnUpdate();
     }
     if (activeAssasin)
     {
         AssasinMode();
     }
 }
コード例 #2
0
        private static void AssasinMode()
        {
            var target = TargetSelector.GetSelectedTarget();

            if (Orbwalking.CanMove(Orbwalking.Orbwalker._config.Item("ExtraWindup").GetValue <Slider>().Value))
            {
                Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);
            }
            if (target.IsValidTarget() && !target.IsZombie)
            {
                var targetpos = Prediction.GetPrediction(target, 0.25f).UnitPosition.To2D();
                var distance  = targetpos.Distance(Player.Position.To2D());
                if (Ignite.IsReady() && target.IsValidTarget(450))
                {
                    Player.Spellbook.CastSpell(Ignite, target);
                }
                if (!R.IsReady(3000) || Player.IsDashing())
                {
                    if (W.IsReady() && Player.Distance(target.Position) <= W.Range)
                    {
                        W.Cast();
                    }
                }
                if (R.IsReady() && AhriOrbReturn == null && AhriOrb == null && Utils.GameTimeTickCount - Rcount >= 500)
                {
                    Vector2 intersec = new Vector2();
                    for (int i = 450; i >= 0; i = i - 50)
                    {
                        for (int j = 50; j <= 600; j = j + 50)
                        {
                            var vectors = Geometry.CircleCircleIntersection(Player.Position.To2D(), targetpos, i, j);
                            foreach (var x in vectors)
                            {
                                if (!Collide(x, target) && !x.IsWall())
                                {
                                    intersec = x;
                                    goto ABC;
                                }
                            }
                        }
                    }
ABC:
                    if (intersec.IsValid())
                    {
                        R.Cast(intersec.To3D());
                    }
                }
                else if (R.IsReady() && AhriOrbReturn != null &&
                         Player.Distance(targetpos) < Player.Distance(AhriOrbReturn.Position.To2D()) &&
                         Utils.GameTimeTickCount - Rcount >= 0)
                {
                    var     Orb     = AhriOrbReturn.Position.To2D();
                    var     dis     = Orb.Distance(targetpos);
                    Vector2 castpos = new Vector2();
                    for (int i = 450; i >= 200; i = i - 50)
                    {
                        if (Orb.Extend(targetpos, dis + i).Distance(Player.Position.To2D()) <= R.Range &&
                            !Orb.Extend(targetpos, dis + i).IsWall())
                        {
                            castpos = Orb.Extend(targetpos, dis + i);
                            break;
                        }
                    }
                    if (castpos.IsValid())
                    {
                        R.Cast(castpos.To3D());
                    }
                }
                if (Orbwalking.CanAttack() && Orbwalking.InAutoAttackRange(target))
                {
                    Player.IssueOrder(GameObjectOrder.AttackUnit, target);
                    Orbwalking.LastAACommandTick = Utils.GameTimeTickCount - 4;
                }
            }
        }