public static void CastQ(Obj_AI_Base target, int modeIndex = 0, bool force = true) { var wallPos = WallExtension.NearestWall(Global.Player, 130); if (!wallPos.IsZero) { Q.Cast(wallPos); return; } var point = WallExtension.NearestWall(target, 475); if (force && E.Ready && !point.IsZero) { point = target.ServerPosition + (target.ServerPosition - point).Normalized() * 100; if (point.Distance(Global.Player) <= Q.Range) { Q.Cast(point); } } switch (modeIndex) { case 0: Q.Cast(Game.CursorPos); break; case 1: Q.Cast(DashManager.DashKite(target, Q.Range)); break; } }
public virtual void OnDashNotified() { var dash = DashManager.GetDash(); Game.Send(new WaypointGroupWithSpeedMessage(NetId, new MovementDataWithSpeed[] { new MovementDataWithSpeed() { HasTeleportID = false, SpeedParams = new SpeedParams() { Facing = dash.Facing, FollowBackDistance = 0f, FollowDistance = 0f, FollowNetID = 0, FollowTravelTime = 0f, ParabolicGravity = 0f, ParabolicStartPoint = Position, PathSpeedOverride = dash.Speed, }, TeleportID = 0, TeleportNetID = NetId, Waypoints = GridPosition.TranslateToGrid(new Vector2[] { Position, dash.TargetPoint }, Game.Map.Size, Game.Map.Record.HalfCellSize) } }, Environment.TickCount)); }
public DashManagerController(UserManager <User> userManager, SignInManager <User> signInManager, RoleManager <IdentityRole> roleManager) { _userManager = userManager; manager = new DashManager(userManager, signInManager, roleManager); }
public static void Kite(Obj_AI_Base target) { if (target.IsValidTarget(Global.Player.AttackRange + 70)) { Global.Orbwalker.Move(DashManager.DashKite(target, 200, 450)); } }
public override void Update(float deltaTime) { base.Update(deltaTime); SpellManager.Update(deltaTime); DashManager.Update(deltaTime); PathManager.Update(deltaTime); this.AttackManager.Update(deltaTime); }
public static void Execute() { switch (Game.MapId) { case GameMapId.SummonersRift: Junglemobs = new[] { "SRU_Dragon_Air", "SRU_Dragon_Earth", "SRU_Dragon_Fire", "SRU_Dragon_Water", "SRU_Dragon_Elder", "SRU_Baron", "SRU_Gromp", "SRU_Krug", "SRU_Razorbeak", "Sru_Crab", "SRU_Murkwolf", "SRU_Blue", "SRU_Red", "SRU_RiftHerald" }; break; case GameMapId.CrystalScar: Junglemobs = new[] { "AscXerath" }; break; case GameMapId.TwistedTreeline: Junglemobs = new[] { "TT_NWraith", "TT_NWolf", "TT_NGolem", "TT_Spiderboss" }; break; default: Junglemobs = new[] { "None" }; break; } DashManager.Init(); CoreMenu = MainMenu.AddMenu("KappaCore", "KappaCore"); GapMenu = CoreMenu.AddSubMenu("Anti-GapCloser Settings"); ks = CoreMenu.AddSubMenu("Stealer"); GapMenu.AddGroupLabel("Anti GapCloser Champions"); foreach (var enemy in EntityManager.Heroes.Enemies) { foreach (var spell in Gapcloser.GapCloserList.Where(e => enemy.ChampionName == e.ChampName)) { GapMenu.Add(spell.SpellName + enemy.ID(), new CheckBox(spell.ChampName + " " + spell.SpellSlot)); } } ks.AddGroupLabel("KillSteal Champions"); foreach (var hero in EntityManager.Heroes.Enemies) { ks.Add(hero.ID(), new CheckBox(hero.ChampionName + " (" + hero.Name + ")")); } ks.AddSeparator(1); ks.AddGroupLabel("JungleSteal Mobs"); foreach (var mob in Junglemobs) { ks.Add(mob, new CheckBox(mob)); } ObjectsManager.Init(); }
private void Start() { inputManager = GameManager.ActiveGameManager.InputManager; walkManager = GetComponent <WalkManager>(); dashManager = GetComponent <DashManager>(); dashManager.enabled = false; drawManager = GetComponent <DrawManager>(); powerManager = GetComponent <PowerManager>(); drawManager.enabled = false; mainCamera = GameManager.ActiveGameManager.MainCamera; pathColLayerMask = LayerMask.GetMask("DrawCollider"); CURRENT_STATE = PLAYER_STATE.WALK; }
public bool Dash(Vector2 dashTarget) { if (CurrentStamina >= 3 && DashCooldown.Use()) { DashManager dash = new DashManager(this, MonoBehaviour.transform.position, dashTarget, Configuration.PLAYER_ATTACK_DAMAGE(AttackDamagePoints) * 0.5f); CurrentStamina -= 3; return(true); } else { return(false); } }
public static void CastE(Obj_AI_Base target) { if (Q.Ready && !WallForQ.IsZero) { WallForQ = target.ServerPosition + (target.ServerPosition - WallForQ).Normalized() * 100; if (WallForQ.Distance(Global.Player) <= E.Range) { E.Cast(WallForQ); return; } } E.Cast(DashManager.DashKite(target, E.Range)); }
public bool Dash(Vector2 targetPoint, float speed, bool facing, Action onDashEnded = null) { if (DashManager.IsDashing) { return(false); } if (IsMoving) { StopMove(false, false); } targetPoint = Game.Map.Record.GetClosestTerrainExit(targetPoint); DashManager.StartDashing(targetPoint, speed, facing, onDashEnded); OnDashNotified(); return(true); }
public static void CastE(Obj_AI_Base target, int modeIndex = 0) { var pos = Vector3.Zero; switch (modeIndex) { case 0: pos = Game.CursorPos; break; default: pos = DashManager.DashKite(target, E.Range); break; } E.Cast(pos); }
public override void Initialize() { if (Record.IsMelee) { AttackManager = new MeleeManager(this); } else { AttackManager = new RangedManager(this); } AttackManager.SetAutoattackActivated(DefaultAutoattackActivated); SpellManager = new SpellManager(this); PathManager = new PathManager(this); DashManager = new DashManager(this); FXManager = new FXManager(this); base.Initialize(); }
public override void Execute() { if (Orbwalker.IsAutoAttacking) { return; } var canUseQ = FarmMenu.GetCheckBoxValue(Q, "lane"); var canUseE = FarmMenu.GetCheckBoxValue(E, "lane"); //Normal Laneclear(safer) if (Me.CountEnemyChampionsInRange(1200) >= 1) { if (!Me.Dashing() && !HasQ3()) { if (canUseQ) { var minionQ = EntityCache.EnemyMinions.Where(m => m.IsValidTarget(Q.Range)).OrderBy(m => m.Health) .FirstOrDefault( m => Prediction.Health.GetPrediction(m, Q.CastDelay + (E.IsReady() ? EDelay : 0) + Game.Ping) <= m.GetQDamage() + (E.IsReady() ? m.GetEDamage() : 0f)); if (!HasQ3()) { Q.SmartCast(minionQ); } } if (canUseE) { var minionE = EntityCache.EnemyMinions.Where(m => m.IsValidTarget(E.Range)).OrderBy(m => m.Health) .FirstOrDefault( m => Prediction.Health.GetPrediction(m, EDelay + Game.Ping) <= m.GetEDamage()); minionE.CastE(); } } } //Faster Laneclear(faster, not safe) else { if (!Me.Dashing()) { if (canUseQ) { var minionQ = EntityCache.EnemyMinions.Where(m => m.IsValidTarget(Q.Range)).OrderBy(m => m.Health) .FirstOrDefault( m => Prediction.Health.GetPrediction(m, Q.CastDelay + (E.IsReady() ? EDelay : 0) + Game.Ping) <= m.GetQDamage() + (E.IsReady() && m.IsSafeToE() ? m.GetEDamage() : 0f)); Q.SmartCast(minionQ); } if (canUseE) { var minionE = EntityCache.EnemyMinions.Where(m => m.IsValidTarget(E.Range)).OrderByDescending( m => m.GetPosAfterE().CountEnemyMinionsInRange(QCircleRange)).ThenBy(m => m.Health) .FirstOrDefault( m => Prediction.Health.GetPrediction(m, EDelay + Game.Ping) <= m.GetEDamage()); minionE.CastE(); } } if (Me.CountAllyMinionsInRange(700) >= 5) { if (canUseE) { //Fast var minionEKinda = EntityCache.EnemyMinions.Where(m => m.IsValidTarget(E.Range)).OrderByDescending( m => m.GetPosAfterE().CountEnemyMinionsInRange(QCircleRange)).ThenBy(m => m.Health) .FirstOrDefault( m => m.GetPosAfterE().CountEnemyMinionsInRange(QCircleRange) >= 1 && Prediction.Health.GetPrediction(m, +EDelay + Game.Ping) <= m.GetEDamage()); minionEKinda.CastE(); } if (canUseQ) { //Fast var minionQFast = EntityCache.EnemyMinions.Where(m => m.IsValidTarget(Me.Dashing() ? QCircleRange : (int)Q.Range)).OrderBy(m => m.Health) .FirstOrDefault( m => DashManager.GetPlayerPosition().CountEnemyMinionsInRange(QCircleRange) >= 1); Q.SmartCast(minionQFast); } } if (Me.CountAllyMinionsInRange(700) <= 1) { if (canUseE) { //Fast var minionEFast = EntityCache.EnemyMinions.Where(m => m.IsValidTarget(E.Range)).OrderByDescending( m => m.GetPosAfterE().CountEnemyMinionsInRange(QCircleRange)).ThenBy(m => m.Health) .FirstOrDefault( m => m.GetPosAfterE().CountEnemyMinionsInRange(QCircleRange) >= 1); minionEFast.CastE(); } if (canUseQ) { var minionQFast = EntityCache.EnemyMinions.Where(m => m.IsValidTarget(Me.Dashing() ? QCircleRange : (int)Q.Range)).OrderBy(m => m.Health) .FirstOrDefault( m => DashManager.GetPlayerPosition().CountEnemyMinionsInRange(QCircleRange) >= 1); Q.SmartCast(minionQFast); //Fast } } } }
public override void OnDead(AttackableUnit source) { PathManager.Reset(); DashManager.CancelDash(); base.OnDead(source); }
public override void Execute() { //SpellManager.CastOPCombo(1); if (Orbwalker.IsAutoAttacking) { return; } var target = TargetSelector.GetTarget(2000, DamageType.Physical); if (target == null) { return; } if (ComboMenu.GetCheckBoxValue(Q, "combo")) { if (!Me.Dashing()) { Q.CastMinimumHitchance(target, HasQ3() ? 71 : 51); } else { if (DashManager.GetPlayerPosition().CountEnemiesInRange(QCircleRange) >= 1) { Console.WriteLine("Q Dash COmbo"); Q.Cast(); } if (!HasQ3() && DashManager.GetPlayerPosition().CountEnemyMinionsInRange(QCircleRange) >= 1) { Console.WriteLine("Q Dash COmbo"); Q.Cast(); } } } if (ComboMenu.GetCheckBoxValue(E, "combo")) { if (!target.IsValidTarget(Me.GetAutoAttackRange() - 20) && E.IsReady()) { var targetToE = target.GetBestEnemyToE(); targetToE?.CastE(); } if (!target.IsInRange(Me, Me.GetAutoAttackRange() + 220) && target.IsValidTarget(E.Range) && E.IsReady()) { target.CastE(); } } #region Ult if (Me.CountEnemiesInRange(1000) >= 2) { //TeamFight if (ComboMenu.GetCheckBoxValue(R, "combo")) { var targetR = GetBestTargetToR(); if (targetR.Hero == null || targetR.EnemyCount < ComboMenu.GetSliderValue("rCount")) { return; } if (targetR.Time <= 90 + Game.Ping) { R.Cast(targetR.Hero); } } } else { //1v1 if (ComboMenu.GetCheckBoxValue("rSmart")) { var targetR = GetBestTargetToR(); if (targetR.Hero == null) { return; } if (Prediction.Health.GetPrediction(targetR.Hero, 400) >= Me.GetAutoAttackDamage(targetR.Hero) + targetR.Hero.GetQDamage() + targetR.Hero.GetEDamage() && targetR.Hero.IsInRange(Me, 550)) { return; } if (targetR.Time <= 90 + Game.Ping) { R.Cast(targetR.Hero); } } } #endregion Ult }
void Awake() { dm = this; }