示例#1
0
        private static void OnHarrass()
        {
            var Target = TargetSelector.GetTarget(Q.Range, DamageType.Physical);

            if (!Target.IsValidTarget())
            {
                return;
            }
            if (SanJuanniMenu.harassQ() && Target.IsValidTarget(Q.Range) && Player.ManaPercent >= SanJuanniMenu.harassQWE())
            {
                if (Prediction.Position.PredictLinearMissile(Target, Q.Range, Q.Width, Q.CastDelay, Q.Speed, int.MaxValue).HitChance >= HitChance.High)
                {
                    Q.Cast(Target);
                }
            }
            if (SanJuanniMenu.harassW() && Target.IsValidTarget(W.Range) && Player.ManaPercent >= SanJuanniMenu.harassQWE())
            {
                W.Cast();
            }

            if (SanJuanniMenu.harassE() && E.IsReady() && Target.IsValidTarget(E.Range) && Player.ManaPercent >= SanJuanniMenu.harassQWE() && Target.HasBuff("SejuaniFrost"))
            {
                E.Cast();
            }
        }
示例#2
0
 public static void Heal()
 {
     if (MyActivator.heal.IsReady() && Player.HealthPercent <= SanJuanniMenu.spellsHealHP())
     {
         MyActivator.heal.Cast();
     }
 }
示例#3
0
        private static void OnLoadingComplete(EventArgs args)
        {
            if (Player.ChampionName != "Sejuani")
            {
                return;
            }
            AbilitySequence = new int[] { 2, 3, 1, 2, 2, 4, 2, 3, 2, 3, 4, 2, 2, 1, 1, 4, 1, 1 };
            Chat.Print("SanJuanni Loaded!", Color.CornflowerBlue);
            Chat.Print("Enjoy the game and DONT TROLL!", Color.Red);
            SanJuanniMenu.loadMenu();
            Game.OnTick += GameOnTick;
            MyActivator.loadSpells();
            Game.OnUpdate += OnGameUpdate;

            #region Skill
            Q = new Spell.Skillshot(SpellSlot.Q, 800, SkillShotType.Linear);
            W = new Spell.Active(SpellSlot.W, 350);
            E = new Spell.Active(SpellSlot.W, 1000);
            R = new Spell.Skillshot(SpellSlot.R, 1175, SkillShotType.Linear);
            #endregion

            Gapcloser.OnGapcloser            += AntiGapCloser;
            Interrupter.OnInterruptableSpell += Interrupter_OnInterruptableSpell;
            Drawing.OnDraw += GameOnDraw;
        }
示例#4
0
        private static void AntiGapCloser(AIHeroClient sender, Gapcloser.GapcloserEventArgs e)
        {
            if (!e.Sender.IsValidTarget() || !SanJuanniMenu.gapcloserQ() || e.Sender.Type != Player.Type || !e.Sender.IsEnemy)
            {
                return;
            }

            Q.Cast(e.Sender);
        }
示例#5
0
 private static void RanduinItem()
 {
     if (MyActivator.randuin.IsReady() && MyActivator.randuin.IsOwned())
     {
         if (SanJuanniMenu.randuin() && Target.IsValidTarget(MyActivator.randuin.Range) && MyActivator.randuin.IsReady())
         {
             MyActivator.randuin.Cast();
         }
     }
 }
示例#6
0
 private static void AscensionItem()
 {
     if (MyActivator.talisman.IsReady() && MyActivator.talisman.IsOwned())
     {
         if (SanJuanniMenu.talisman() && Player.HealthPercent <= SanJuanniMenu.itemssliderHP() && Player.CountEnemiesInRange(800) >= SanJuanniMenu.itemsenemiesinrange())
         {
             MyActivator.talisman.Cast();
         }
     }
 }
示例#7
0
        private static void GameOnTick(EventArgs args)
        {
            if (Player.CountEnemiesInRange(1000) <= SanJuanniMenu.itemsenemiesinrange())
            {
                foreach (AIHeroClient enemy in EntityManager.Heroes.Enemies)
                {
                    foreach (AIHeroClient ally in EntityManager.Heroes.Allies)
                    {
                        if (ally.IsFacing(enemy) && ally.HealthPercent <= SanJuanniMenu.itemssliderHP() && Player.Distance(ally) <= 750)
                        {
                            if (SanJuanniMenu.fotmountain() && MyActivator.fotmountain.IsReady())
                            {
                                MyActivator.fotmountain.Cast(ally);
                            }

                            if (SanJuanniMenu.mikael() && (ally.HasBuffOfType(BuffType.Charm) || ally.HasBuffOfType(BuffType.Fear) || ally.HasBuffOfType(BuffType.Polymorph) || ally.HasBuffOfType(BuffType.Silence) || ally.HasBuffOfType(BuffType.Sleep) || ally.HasBuffOfType(BuffType.Snare) || ally.HasBuffOfType(BuffType.Stun) || ally.HasBuffOfType(BuffType.Taunt) || ally.HasBuffOfType(BuffType.Polymorph)) && MyActivator.mikael.IsReady())
                            {
                                MyActivator.mikael.Cast(ally);
                            }
                        }
                    }
                }
            }
            if (SanJuanniMenu.lvlup())
            {
                LevelUpSpells();
            }
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                OnCombo();
            }
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
            {
                OnHarrass();
            }
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear))
            {
                OnLaneClear();
            }
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear))
            {
                OnJungle();
            }
            KillSteal();
            AscensionItem();
            RanduinItem();
            GloryItem();
            SolariItem();
        }
示例#8
0
        private static void OnCombo()
        {
            var Target = TargetSelector.GetTarget(Q.Range, DamageType.Physical);

            if (!Target.IsValidTarget(Q.Range) || Target == null)
            {
                return;
            }
            if (SanJuanniMenu.comboQ() && Q.IsReady() && Target.IsValidTarget(Q.Range))
            {
                if (Prediction.Position.PredictLinearMissile(Target, Q.Range, Q.Width, Q.CastDelay, Q.Speed, int.MaxValue).HitChance >= HitChance.High)
                {
                    Q.Cast(Target);
                }
            }
            if (SanJuanniMenu.comboW() && W.IsReady() && Target.IsValidTarget(W.Range))
            {
                W.Cast();
            }
            if (SanJuanniMenu.comboE() && E.IsReady() && Target.IsValidTarget(E.Range) && Target.Position.CountEnemiesInRange(1000) >= SanJuanniMenu.comboE1() && Target.HasBuff("SejuaniFrost"))
            {
                E.Cast();
            }
            if (SanJuanniMenu.comboR() && R.IsReady() && Player.ServerPosition.CountEnemiesInRange(500f) >= SanJuanniMenu.comboR2())
            {
                if (Prediction.Position.PredictLinearMissile(Target, Q.Range, Q.Width, Q.CastDelay, Q.Speed, int.MaxValue).HitChance >= HitChance.High && !Prediction.Position.PredictLinearMissile(Target, Q.Range, Q.Width, Q.CastDelay, Q.Speed, int.MaxValue).CollisionObjects.Any())
                {
                    R.Cast(Target);
                }
            }

            if ((ObjectManager.Player.CountEnemiesInRange(ObjectManager.Player.AttackRange) >= SanJuanniMenu.youmusEnemies() || Player.HealthPercent >= SanJuanniMenu.itemsYOUMUShp()) && MyActivator.youmus.IsReady() && SanJuanniMenu.youmus() && MyActivator.youmus.IsOwned())
            {
                MyActivator.youmus.Cast();
                return;
            }
            if (Player.HealthPercent <= SanJuanniMenu.bilgewaterHP() && SanJuanniMenu.bilgewater() && MyActivator.bilgewater.IsReady() && MyActivator.bilgewater.IsOwned())
            {
                MyActivator.bilgewater.Cast(Target);
                return;
            }

            if (Player.HealthPercent <= SanJuanniMenu.botrkHP() && SanJuanniMenu.botrk() && MyActivator.botrk.IsReady() && MyActivator.botrk.IsOwned())
            {
                MyActivator.botrk.Cast(Target);
                return;
            }
        }
示例#9
0
 private static void SolariItem()
 {
     if (MyActivator.ironsolari.IsReady() && MyActivator.ironsolari.IsOwned())
     {
         foreach (AIHeroClient ally in EntityManager.Heroes.Allies)
         {
             if (EntityManager.Heroes.Enemies.Where(enemy => enemy != Player && enemy.Distance(Player) <= 1000).Count() > SanJuanniMenu.itemsenemiesinrange() && ally.Distance(Player) <= 600 && MyActivator.ironsolari.IsReady() && SanJuanniMenu.ironsolari())
             {
                 if (ally.HealthPercent < SanJuanniMenu.itemssliderHP())
                 {
                     MyActivator.ironsolari.Cast();
                 }
             }
         }
     }
 }
示例#10
0
 private static void OnGameUpdate(EventArgs args)
 {
     if (MyActivator.heal != null)
     {
         Heal();
     }
     if (MyActivator.ignite != null)
     {
         ignite();
     }
     if (MyActivator.ignite != null)
     {
         smite();
     }
     Player.SetSkinId(SanJuanniMenu.skinId());
 }
示例#11
0
 private static void KillSteal()
 {
     foreach (var Target in EntityManager.Heroes.Enemies.Where(hero => hero.IsValidTarget(W.Range) && !hero.IsDead && !hero.IsZombie && hero.HealthPercent <= 25))
     {
         if (SanJuanniMenu.killstealQ() && Q.IsReady() && Target.Health + Target.AttackShield < Player.GetSpellDamage(Target, SpellSlot.Q, DamageLibrary.SpellStages.Default))
         {
             if (Prediction.Position.PredictLinearMissile(Target, Q.Range, Q.Width, Q.CastDelay, Q.Speed, int.MaxValue).HitChance >= HitChance.High)
             {
                 Q.Cast(Target);
             }
         }
         if (SanJuanniMenu.killstealR() && R.IsReady() && Target.Health + Target.AttackShield < Player.GetSpellDamage(Target, SpellSlot.R, DamageLibrary.SpellStages.Default))
         {
             if (Prediction.Position.PredictLinearMissile(Target, Q.Range, Q.Width, Q.CastDelay, Q.Speed, int.MaxValue).HitChance >= HitChance.High && !Prediction.Position.PredictLinearMissile(Target, Q.Range, Q.Width, Q.CastDelay, Q.Speed, int.MaxValue).CollisionObjects.Any())
             {
                 R.Cast(Target);
             }
         }
     }
 }
示例#12
0
 private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
 {
     if (!sender.IsValidTarget(Q.Range) || e.DangerLevel != DangerLevel.High || e.Sender.Type != Player.Type || !e.Sender.IsEnemy)
     {
         return;
     }
     if (R.IsReady() && E.IsInRange(sender) && SanJuanniMenu.interruptR())
     {
         R.Cast(sender);
     }
     else if (Q.IsReady() && SanJuanniMenu.interruptQ() && Prediction.Position.PredictLinearMissile(
                  sender,
                  Q.Range,
                  Q.Width,
                  Q.CastDelay,
                  Q.Speed,
                  int.MaxValue).HitChance >= HitChance.Low)
     {
         Q.Cast(sender);
     }
 }
示例#13
0
        public static void OnLaneClear()
        {
            var count  = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, Player.ServerPosition, Player.AttackRange, false).Count();
            var source = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, Player.ServerPosition, Player.AttackRange).OrderByDescending(a => a.MaxHealth).FirstOrDefault();

            if (count == 0)
            {
                return;
            }
            if (Q.IsReady() && SanJuanniMenu.lcQ() && SanJuanniMenu.lcQ1() <= count && Player.ManaPercent >= SanJuanniMenu.lcM())
            {
                Q.Cast(source.Position);
            }
            if (W.IsReady() && SanJuanniMenu.lcW() && SanJuanniMenu.lcW1() <= count && Player.ManaPercent >= SanJuanniMenu.lcM())
            {
                W.Cast();
            }
            if (E.IsReady() && SanJuanniMenu.lcE() && SanJuanniMenu.lcE2() <= count && Player.ManaPercent >= SanJuanniMenu.lcM() && source.HasBuff("sejuanifrost"))
            {
                E.Cast();
            }
        }
示例#14
0
        public static void OnJungle()
        {
            var source = EntityManager.MinionsAndMonsters.GetJungleMonsters(Player.ServerPosition, Q.Range).OrderByDescending(a => a.MaxHealth).FirstOrDefault();

            if (Q.IsReady() && SanJuanniMenu.jungleQ() && source.Distance(Player) <= Q.Range)
            {
                Q.Cast(source.Position);
            }
            if (W.IsReady() && SanJuanniMenu.jungleW())
            {
                W.Cast();
            }
            if (E.IsReady() && source.HasBuff("SejuaniFrost") && SanJuanniMenu.jungleES() && MyActivator.smite.IsReady() && source.Health <= Player.GetSpellDamage(source, SpellSlot.E, DamageLibrary.SpellStages.Default) && DamageLibrary.GetSummonerSpellDamage(Player, source, DamageLibrary.SummonerSpells.Smite) >= source.Health)
            {
                E.Cast();
                MyActivator.smite.Cast(source);
                return;
            }
            if (E.IsReady() && SanJuanniMenu.jungleE() && source.Health + (source.HPRegenRate / 2) <= Player.GetSpellDamage(source, SpellSlot.E, DamageLibrary.SpellStages.Default) && source.Distance(Player) <= E.Range && source.HasBuff("SejuaniFrost"))
            {
                E.Cast();
            }
        }
示例#15
0
        public static void GameOnDraw(EventArgs args)
        {
            if (SanJuanniMenu.nodraw())
            {
                return;
            }

            if (!SanJuanniMenu.onlyReady())
            {
                if (SanJuanniMenu.drawingsQ())
                {
                    new Circle()
                    {
                        Color = Color.AliceBlue, Radius = Q.Range, BorderWidth = 2f
                    }.Draw(Player.Position);
                }
                if (SanJuanniMenu.drawingsW())
                {
                    new Circle()
                    {
                        Color = Color.OrangeRed, Radius = W.Range, BorderWidth = 2f
                    }.Draw(Player.Position);
                }
                if (SanJuanniMenu.drawingsE())
                {
                    new Circle()
                    {
                        Color = Color.Cyan, Radius = E.Range, BorderWidth = 2f
                    }.Draw(Player.Position);
                }
                if (SanJuanniMenu.drawingsR())
                {
                    new Circle()
                    {
                        Color = Color.SkyBlue, Radius = R.Range, BorderWidth = 2f
                    }.Draw(Player.Position);
                }
                if (SanJuanniMenu.Allydrawn())
                {
                    DrawHealths();
                }
            }
            else
            {
                if (!Q.IsOnCooldown && SanJuanniMenu.drawingsQ())
                {
                    new Circle()
                    {
                        Color = Color.AliceBlue, Radius = 340, BorderWidth = 2f
                    }.Draw(Player.Position);
                }
                if (!W.IsOnCooldown && SanJuanniMenu.drawingsW())
                {
                    new Circle()
                    {
                        Color = Color.OrangeRed, Radius = 800, BorderWidth = 2f
                    }.Draw(Player.Position);
                }
                if (!E.IsOnCooldown && SanJuanniMenu.drawingsE())
                {
                    new Circle()
                    {
                        Color = Color.Cyan, Radius = 500, BorderWidth = 2f
                    }.Draw(Player.Position);
                }
                if (!R.IsOnCooldown && SanJuanniMenu.drawingsR())
                {
                    new Circle()
                    {
                        Color = Color.SkyBlue, Radius = 500, BorderWidth = 2f
                    }.Draw(Player.Position);
                }
                if (SanJuanniMenu.Allydrawn())
                {
                    DrawHealths();
                }
            }
        }
示例#16
0
 private static void GloryItem()
 {
     if (MyActivator.glory.IsReady() && MyActivator.glory.IsOwned())
     {
         if (EntityManager.Heroes.Allies.Where(ally => ally != Player && ally.Distance(Player) <= 700).Count() > 0 && MyActivator.glory.IsReady() && SanJuanniMenu.glory())
         {
             MyActivator.glory.Cast();
         }
     }
 }
示例#17
0
        public static void ignite()
        {
            var autoIgnite = TargetSelector.GetTarget(MyActivator.ignite.Range, DamageType.True);

            if (autoIgnite != null && autoIgnite.Health <= DamageLibrary.GetSpellDamage(Player, autoIgnite, MyActivator.ignite.Slot) || autoIgnite != null && autoIgnite.HealthPercent <= SanJuanniMenu.spellsIgniteFocus())
            {
                MyActivator.ignite.Cast(autoIgnite);
            }
        }