Ejemplo n.º 1
0
        public override void Obj_AI_Base_OnBuffAdd(Obj_AI_Base sender, Obj_AI_BaseBuffGainEventArgs args)
        {
            if (E.IsReady())
            {
                BuffInstance aBuff =
                    (from fBuffs in
                     sender.Buffs.Where(
                         s =>
                         sender.Team != ObjectManager.Player.Team &&
                         sender.Distance(ObjectManager.Player.Position) < W.Range)
                     from b in new[]
                {
                    "teleport_",                  /* Teleport */
                    "pantheon_grandskyfall_jump", /* Pantheon */
                    "crowstorm",                  /* FiddleScitck */
                    "zhonya", "katarinar",        /* Katarita */
                    "MissFortuneBulletTime",      /* MissFortune */
                    "gate",                       /* Twisted Fate */
                    "chronorevive"                /* Zilean */
                }
                     where args.Buff.Name.ToLower().Contains(b)
                     select fBuffs).FirstOrDefault();

                if (aBuff != null && aBuff.StartTime + CommonUtils.GetRandomDelay(1000, 1500) <= Game.Time)
                {
                    W.Cast(sender.Position);
                }
            }
        }
Ejemplo n.º 2
0
        internal static bool isKillableAndValidTarget(this Obj_AI_Base Target, double CalculatedDamage, float distance = float.MaxValue)
        {
            if (Target == null || !Target.IsValidTarget(distance) || Target.Health <= 0)
            {
                return(false);
            }

            if (ObjectManager.Player.HasBuff("summonerexhaust"))
            {
                CalculatedDamage *= 0.6;
            }

            if (Target.HasBuff("FerociousHowl"))
            {
                CalculatedDamage *= 0.3;
            }

            BuffInstance dragonSlayerBuff = ObjectManager.Player.GetBuff("s5test_dragonslayerbuff");

            if (Target.Name.ToLowerInvariant().Contains("dragon") && dragonSlayerBuff != null)
            {
                CalculatedDamage -= CalculatedDamage * (0.07 * dragonSlayerBuff.Count);
            }

            if (Target.Name.ToLowerInvariant().Contains("baron") && ObjectManager.Player.HasBuff("barontarget"))
            {
                CalculatedDamage *= 0.5;
            }

            return(Target.Health + Target.HPRegenRate + Target.PhysicalShield < CalculatedDamage);
        }
Ejemplo n.º 3
0
 public override void OnTimeout(BuffManager bm, BuffInstance bi, Buff.OnTimeoutReasons reason)
 {
     if (bm.Actor != null)
     {
         DrunkInteractions.DoDrunkInteraction(bm.Actor);
     }
 }
Ejemplo n.º 4
0
            public static void OnBuffGain(AIBaseClient sender, AIBaseClientBuffGainEventArgs args)
            {
                if (sender.IsMe || sender.IsAlly || objPlayer.IsDead)
                {
                    return;
                }

                if (MenuManager.MiscMenu["AutoR"].GetValue <MenuBool>().Enabled&& MenuManager.MiscMenu["AutoRZhonya"].GetValue <MenuBool>().Enabled)
                {
                    BuffInstance buff = (from senderBuffs in sender.Buffs.Where(x => sender.DistanceToPlayer() < SpellManager.R.Range)
                                         from b in new[]
                    {
                        "teleport",
                        "zhonya",
                        "katarinar",
                        "crowstorm",
                        "MissFortuneBulletTime",
                        "gate",
                        "chronorevive",
                    }
                                         where args.Buff.Name.ToLower().Contains(b) select senderBuffs).FirstOrDefault();


                    if (buff != null && SpellManager.R.IsReady())
                    {
                        SpellManager.R.Cast(sender.Position);
                    }
                }
            }
Ejemplo n.º 5
0
        public override void OnAddition(BuffManager bm, BuffInstance bi, bool travelReaddition)
        {
            SimDescription         description  = bm.Actor.SimDescription;
            BuffInstanceAbductedEx buffInstance = bi as BuffInstanceAbductedEx;

            buffInstance.Abductee = bm.Actor;
            List <SimDescription> list = new List <SimDescription>();

            foreach (SimDescription current in Household.AlienHousehold.SimDescriptions)
            {
                if (current.TeenOrAbove)
                {
                    list.Add(current);
                }
            }

            if (list.Count > 0)
            {
                buffInstance.Alien = RandomUtil.GetRandomObjectFromList(list);

                if (AlienPregnancyProxy.ShouldImpregnate(buffInstance.Abductee, buffInstance.Alien))
                {
                    AlienPregnancyProxy.Start(buffInstance.Abductee, buffInstance.Alien);
                    buffInstance.IsAlienPregnant = true;
                    return;
                }
            }

            buffInstance.IsAlienPregnant = false;
        }
Ejemplo n.º 6
0
        public static void ProcessBuff(object obj)
        {
            Sim  sim  = obj as Sim;
            bool flag = false;

            using (IEnumerator <BuffInstance> enumerator = sim.BuffManager.Buffs.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    BuffInstance current = enumerator.Current;
                    if ((current.BuffGuid == (0xF210BB43E0C33B3F)) || (current.BuffGuid == (0xB040AC12800F6F7D)) || (current.BuffGuid == (0x7A197492362B6540) || (current.BuffGuid == (0xBCF83A2A06FD58B0))))
                    {
                        flag = true;
                        if (current.mStartTime > (SimClock.CurrentTicks - 0x2dL))
                        {
                            SetMakeup(sim);
                            return;
                        }
                    }
                }
                if ((!flag && convertedSims.ContainsKey(sim)) && (timeCleans))
                {
                    if (convertedSims[sim])
                    {
                        RemoveMakeup(sim);
                    }
                }
            }
        }
Ejemplo n.º 7
0
 private static void SolveBuffBlock(BuffInstance buff)
 {
     if (Player.IsDead || Player.HasBuffOfType(BuffType.SpellShield) || Player.HasBuffOfType(BuffType.SpellImmunity) ||
         !Menu.SubMenu("EvadeOthers").Item("W").GetValue <bool>() || !W.IsReady())
     {
         return;
     }
     if (buff == null)
     {
         return;
     }
     if ((buff.EndTime - Game.Time) * 1000 <= 250 + Game.Ping)
     {
         var tar = GetTarget(W.Range);
         if (tar.IsValidTarget(W.Range))
         {
             Player.Spellbook.CastSpell(SpellSlot.W, tar.Position);
         }
         else
         {
             var hero = HeroManager.Enemies.FirstOrDefault(x => x.IsValidTarget(W.Range));
             if (hero != null)
             {
                 Player.Spellbook.CastSpell(SpellSlot.W, hero.Position);
             }
             else
             {
                 Player.Spellbook.CastSpell(SpellSlot.W, Player.ServerPosition.Extend(Game.CursorPos, 100));
             }
         }
     }
 }
Ejemplo n.º 8
0
 private static void Game_OnGameUpdate(EventArgs args)
 {
     Buffmanager.ROn = Buffmanager.RIsOn();
     BuffInstance[] buffs = ObjectManager.Player.Buffs;
     BuffInstance[] array = buffs;
     for (int i = 0; i < array.Length; i++)
     {
         BuffInstance buffInstance = array[i];
         if (buffInstance.Name == "RivenTriCleave")
         {
             Buffmanager.qStacks = buffInstance.Count;
         }
         if (buffInstance.Name == "rivenpassiveaaboost")
         {
             Buffmanager.aaStacks = buffInstance.Count;
         }
         if (buffInstance.Name == "rivenwindslashready")
         {
             Buffmanager.windSlashReady = true;
         }
     }
     if (!Buffmanager.hasQStacks())
     {
         Buffmanager.qStacks = 0;
     }
     if (!Buffmanager.hasWindSlash())
     {
         Buffmanager.windSlashReady = false;
     }
 }
Ejemplo n.º 9
0
        public override bool IsSuccess(Event e)
        {
            if (e.Id != EventTypeId.kGotBuff)
            {
                return(false);
            }

            HasGuidEvent <BuffNames> buffEvent = e as HasGuidEvent <BuffNames>;

            if (buffEvent == null)
            {
                return(false);
            }

            if (!mBuffs.Contains(buffEvent.Guid))
            {
                return(false);
            }

            if (mOrigins.Count > 0)
            {
                BuffInstance buff = e.Actor.BuffManager.GetElement(buffEvent.Guid);
                if (buff != null)
                {
                    if (!mOrigins.Contains(buff.BuffOrigin))
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }
Ejemplo n.º 10
0
        public double GetdTotalBuffDamage(Obj_AI_Base target, BuffInstance buff)
        {
            var caster    = buff.Caster as AIHeroClient;
            var SpelLevel = caster.Spellbook.GetSpell(Slot).Level;

            if (caster.Spellbook.GetSpell(Slot).Level <= 0)
            {
                return(0);
            }
            if (Slot != SpellSlot.Unknown)
            {
                return(caster.LSGetSpellDamage(target, Slot, Stage) * Multiplier);
            }
            if (BuffName == "toxicshotparticle")
            {
                var dmg = new double[] { 24, 48, 72, 96, 120 }[SpelLevel - 1] +0.4 * caster.TotalMagicalDamage;
                return(caster.CalcDamage(target, DamageType.Magical, dmg));
            }
            if (BuffName == "deadlyvenom")
            {
                return(GetBuffDamage(12, 4, 6, SpelLevel) * buff.Count);
            }
            if (BuffName == "MordekaiserChildrenOfTheGrave")
            {
                var dmg = (new[] { 18.75, 22.5, 26.25 }[SpelLevel - 1] / 100 + 0.03 / 100) *
                          caster.TotalMagicalDamage * target.MaxHealth;
                return(caster.CalcDamage(target, DamageType.Magical, dmg));
            }
            if (BuffName == "dariushemo")
            {
                var dmg = (9 + SpelLevel + caster.FlatPhysicalDamageMod * 0.3d) * buff.Count;
                return(caster.CalcDamage(target, DamageType.Physical, dmg));
            }
            if (BuffName == "brandablaze")
            {
                var dmg = target.MaxHealth * 0.08d;
                return(caster.CalcDamage(target, DamageType.Magical, dmg));
            }
            if (BuffName == "summonerdot")
            {
                return(caster.GetSummonerSpellDamage(target, DamageLibrary.SummonerSpells.Ignite));
            }
            if (BuffName == "tristanaechargesound")
            {
                var dmg = caster.LSGetSpellDamage(target, Slot, Stage) * buff.Count;
                return(caster.CalcDamage(target, DamageType.Physical, dmg));
            }
            if (BuffName == "swainbeamdamage")
            {
                var dmg = caster.LSGetSpellDamage(target, Slot, Stage) * 3;
                return(caster.CalcDamage(target, DamageType.Magical, dmg));
            }
            if (BuffName == "SwainTorment")
            {
                var dmg = new double[] { 81, 128, 176, 228, 282 }[SpelLevel - 1] +
                new[] { 0.86, 0.89, 0.92, 0.93, 0.96 }[SpelLevel - 1] *caster.TotalMagicalDamage;
                return(caster.CalcDamage(target, DamageType.Magical, dmg));
            }
            return(0);
        }
Ejemplo n.º 11
0
 private static float BuffDurationLeft(BuffInstance b)
 {
     float currentTime = Game.Time;
     float endTime = b.EndTime;
     if (endTime - currentTime > GetWLength()) return GetWLength();
     return endTime - currentTime;
 }
Ejemplo n.º 12
0
        private static void GameOnOnUpdate(EventArgs args)
        {
            if (!DrawRObject && !DrawRObject)
            {
                return;
            }

            foreach (var eObjects in ObjectManager.Get <Obj_AI_Base>().Where(e => e.IsEnemy && !e.IsDead && e.LSIsValidTarget(1500)))
            {
                BuffInstance beam = null;
                if (DrawWObject)
                {
                    beam = eObjects.Buffs.Find(buff => buff.DisplayName.Equals("Leblancshacklebeam", StringComparison.InvariantCultureIgnoreCase));
                    if (beam != null)
                    {
                        UpdateBeamStatus(LeblancSoulShackleMType.FromE, eObjects, beam, beam.StartTime, beam.EndTime);
                    }
                }

                if (DrawRObject)
                {
                    beam = eObjects.Buffs.Find(buff => buff.DisplayName.Equals("Leblancshacklebeamm", StringComparison.InvariantCultureIgnoreCase));
                    if (beam != null)
                    {
                        UpdateBeamStatus(LeblancSoulShackleMType.FromR, eObjects, beam, beam.StartTime, beam.EndTime);
                    }
                }
            }
        }
Ejemplo n.º 13
0
        public static void ProcessBuff(object obj)
        {
            Sim  sim  = obj as Sim;
            bool flag = false;

            using (IEnumerator <BuffInstance> enumerator = sim.BuffManager.Buffs.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    BuffInstance current = enumerator.Current;
                    if ((current.mBuffGuid == BuffNames.Weakened) || (current.mBuffGuid == BuffNames.VampireBite))
                    {
                        flag = true;
                        if (current.mStartTime > (SimClock.CurrentTicks - 0x2dL))
                        {
                            SetMakeup(sim);
                            return;
                        }
                    }
                }
                if ((!flag && bitedSims.ContainsKey(sim)) && (AutoTimeClean))
                {
                    if (bitedSims[sim])
                    {
                        RemoveMakeup(sim);
                    }
                }
            }
        }
Ejemplo n.º 14
0
 private float GetRemainingPassiveDamage(Obj_AI_Base target, BuffInstance passive)
 {
     return
         ((float)
          ObjectManager.Player.CalcDamage(target, DamageType.Magical,
                                          ((int)(passive.EndTime - Game.Time) + 1) * target.MaxHealth * 0.02f));
 }
Ejemplo n.º 15
0
        private static void ProcessBuff(object obj)
        {
            Sim  sim  = obj as Sim;
            bool flag = false;

            using (IEnumerator <BuffInstance> enumerator = sim.BuffManager.Buffs.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    BuffInstance current = enumerator.Current;
                    if ((current.mBuffGuid == BuffNames.Sated) || (current.mBuffGuid == BuffNames.SanguineSnack) || (current.mBuffGuid == BuffNames.DrankFromAFairy) || (current.BuffGuid == 0xB8C52F5C23B7F50C || (current.BuffGuid == 0xDDA3184CBEAFDF22)))
                    {
                        flag = true;
                        if (current.mStartTime > (SimClock.CurrentTicks - 0x2dL))
                        {
                            SetMakeup(sim);
                            return;
                        }
                    }
                }
                if ((!flag && bloodySims.ContainsKey(sim)) && (timeCleans || !sim.IsInActiveHousehold))
                {
                    if (bloodySims[sim])
                    {
                        RemoveMakeup(sim);
                    }
                }
            }
        }
Ejemplo n.º 16
0
 private float GetRemainingPassiveDamage(Obj_AI_Base target, BuffInstance passive)
 {
     return
         (float)
             ObjectManager.Player.CalcDamage(target, DamageType.Magical,
                 ((int) (passive.EndTime - Game.Time) + 1)*target.MaxHealth*0.02f);
 }
Ejemplo n.º 17
0
        public override void OnAddition(BuffManager bm, BuffInstance bi, bool travelReaddition)
        {
            BuffInstanceAbductedEx instance = bi as BuffInstanceAbductedEx;

            List <SimDescription> aliens = AlienUtilsEx.GetAliens(true);

            if (aliens == null)
            {
                return;
            }

            instance.Abductee     = bm.Actor;
            instance.Alien        = RandomUtil.GetRandomObjectFromList <SimDescription>(aliens);
            instance.IsAutonomous = false;

            if (CommonPregnancy.IsSuccess(instance.Abductee, instance.Alien))
            {
                Pregnancy pregnancy = CommonPregnancy.CreatePregnancy(instance.Abductee, instance.Alien, !CommonPregnancy.AllowPlantSimPregnancy());

                if (pregnancy != null)
                {
                    instance.IsAlienPregnancy = true;
                    instance.Abductee.SimDescription.Pregnancy = pregnancy;
                    EventTracker.SendEvent(EventTypeId.kGotPregnant, instance.Abductee);
                }
            }
        }
Ejemplo n.º 18
0
        public bool isSuccessfulTreatment(Sim simToPresentTo)
        {
            BuffInstance badBuff = simToPresentTo.BuffManager.GetElement(BuffNames.NauseousPet);

            // Cure the nastiest buff first if there are multiple types of nausea.
            if (simToPresentTo.BuffManager.HasElement(LoadThis.buffNameStomachFluPet))
            {
                badBuff = simToPresentTo.BuffManager.GetElement(LoadThis.buffNameStomachFluPet);
            }
            else if (simToPresentTo.BuffManager.HasElement(LoadThis.buffNameFoodPoisingPet))
            {
                badBuff = simToPresentTo.BuffManager.GetElement(LoadThis.buffNameFoodPoisingPet);
            }
            if (badBuff == null)
            {
                return(false);
            }
            EWMedicineCatSkill skill = Actor.SkillManager.GetSkill <EWMedicineCatSkill>(EWMedicineCatSkill.SkillNameID);

            if (skill == null)
            {
                return(false);
            }
            return(skill.TreatSim(simToPresentTo, badBuff, Target.GetLocalizedName()));
        }
Ejemplo n.º 19
0
        public override void OnAddition(BuffManager bm, BuffInstance bi, bool travelReaddition)
        {
            BuffInstanceEWAllergies buffInstance = bi as BuffInstanceEWAllergies;

            buffInstance.mPlaguedSim = bm.Actor;
            buffInstance.DoSymptom();
        }
Ejemplo n.º 20
0
        internal static bool isKillableAndValidTarget(this Obj_AI_Minion Target, double CalculatedDamage, TargetSelector.DamageType damageType, float distance = float.MaxValue)
        {
            if (Target == null || !Target.IsValidTarget(distance) || Target.Health <= 0 || Target.HasBuffOfType(BuffType.SpellImmunity) || Target.HasBuffOfType(BuffType.SpellShield) || Target.CharData.BaseSkinName == "gangplankbarrel")
            {
                return(false);
            }

            if (ObjectManager.Player.HasBuff("summonerexhaust"))
            {
                CalculatedDamage *= 0.6;
            }

            BuffInstance dragonSlayerBuff = ObjectManager.Player.GetBuff("s5test_dragonslayerbuff");

            if (dragonSlayerBuff != null)
            {
                if (dragonSlayerBuff.Count >= 4)
                {
                    CalculatedDamage += dragonSlayerBuff.Count == 5 ? CalculatedDamage * 0.30 : CalculatedDamage * 0.15;
                }

                if (Target.CharData.BaseSkinName.ToLowerInvariant().Contains("dragon"))
                {
                    CalculatedDamage *= 1 - (dragonSlayerBuff.Count * 0.07);
                }
            }

            if (Target.CharData.BaseSkinName.ToLowerInvariant().Contains("baron") && ObjectManager.Player.HasBuff("barontarget"))
            {
                CalculatedDamage *= 0.5;
            }

            return(Target.Health + Target.HPRegenRate + (damageType == TargetSelector.DamageType.Physical ? Target.PhysicalShield : Target.MagicalShield) < CalculatedDamage - 2);
        }
Ejemplo n.º 21
0
        private float GetJungleDamage(Obj_AI_Minion enemy)
        {
            float damage = E.GetDamage(enemy);

            if (ObjectManager.Player.HasBuff("summonerexhaust"))
            {
                damage *= 0.6f;
            }

            BuffInstance dragonSlayerBuff = ObjectManager.Player.GetBuff("s5test_dragonslayerbuff");

            if (dragonSlayerBuff != null)
            {
                if (dragonSlayerBuff.Count >= 4)
                {
                    damage += dragonSlayerBuff.Count == 5 ? damage * 0.30f : damage * 0.15f;
                }

                if (enemy.CharData.BaseSkinName.ToLowerInvariant().Contains("dragon"))
                {
                    damage *= 1 - (dragonSlayerBuff.Count * 0.07f);
                }
            }

            if (enemy.CharData.BaseSkinName.ToLowerInvariant().Contains("baron") && ObjectManager.Player.HasBuff("barontarget"))
            {
                damage *= 0.5f;
            }

            return(E.isReadyPerfectly() ? damage : 0);
        }
Ejemplo n.º 22
0
 private bool ProcessBuff(Obj_AI_Base sender, BuffInstance buffInstance)
 {
     if (sender.IsAlly || !KiBurst.W.IsReady() || !ComboActive || !config["combo.spells.usew"].GetValue <bool>())
     {
         return(false);
     }
     return(FollowUpBuffs.Any(t => t == buffInstance.Type));
 }
Ejemplo n.º 23
0
 private static bool IsImmobileBuff(this BuffInstance buff)
 {
     return(buff.Type == BuffType.Stun || buff.Type == BuffType.Snare ||
            buff.Type == BuffType.Knockup ||
            buff.Type == BuffType.Charm || buff.Type == BuffType.Fear ||
            buff.Type == BuffType.Knockback ||
            buff.Type == BuffType.Taunt || buff.Type == BuffType.Suppression);
 }
Ejemplo n.º 24
0
        private static void ProcessBuff(object obj)
        {
            Sim  sim  = obj as Sim;
            bool flag = false;

            using (IEnumerator <BuffInstance> enumerator = sim.BuffManager.Buffs.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    BuffInstance current = enumerator.Current;
                    if (current.mBuffGuid == BuffNames.Werewolf)
                    {
                        flag = true;
                        if (current.mStartTime > (SimClock.CurrentTicks - 0x2dL))
                        {
                            lastTriggered = sim;
                            SetFeet(sim, true);
                            if (!transformedSims.ContainsKey(sim))
                            {
                                transformedSims.Add(sim, true);
                            }
                            else
                            {
                                transformedSims[sim] = true;
                            }
                            lastTriggered = null;
                            return;
                        }
                    }
                }
            }
            using (IEnumerator <BuffInstance> enumerator = sim.BuffManager.Buffs.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    BuffInstance current = enumerator.Current;
                    if (current.mBuffGuid == BuffNames.WhatJustHappened && current.mBuffOrigin == Origin.FromWerewolfTransformation)
                    {
                        flag = true;
                        if (current.mStartTime > (SimClock.CurrentTicks - 0x2dL))
                        {
                            lastTriggered = sim;
                            SetFeet(sim, false);
                            if (!transformedSims.ContainsKey(sim))
                            {
                                transformedSims.Remove(sim);
                            }
                            else
                            {
                                transformedSims[sim] = false;
                            }
                            lastTriggered = null;
                            return;
                        }
                    }
                }
            }
        }
Ejemplo n.º 25
0
 public double GetDamageRemainingDamage(Obj_AI_Base target, BuffInstance buff)
 {
     var damage = GetdTotalBuffDamage(target, buff);
     if (Stacks == 1)
     {
         return damage;
     }
     return damage/Stacks*Math.Ceiling(CombatHelper.GetBuffTime(buff));
 }
Ejemplo n.º 26
0
        private void GameOnOnUpdate(EventArgs args)
        {
            // NocturneParanoia
            var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);

            if (t.IsValidTarget() &&
                MenuLocal.Item(GetPcModeStringValue + "DrawEStatus").GetValue <StringList>().SelectedIndex == 1 & t.HasNocturneUnspeakableHorror())
            {
                BuffInstance b = t.Buffs.Find(buff => buff.DisplayName == "NocturneUnspeakableHorror");
                if (NocturneUnspeakableHorror.EndTime < Game.Time || b.EndTime > NocturneUnspeakableHorror.EndTime)
                {
                    NocturneUnspeakableHorror.StartTime = b.StartTime;
                    NocturneUnspeakableHorror.EndTime   = b.EndTime - 1;
                }
            }

            //foreach (var b in ObjectManager.Player.Buffs.Where(b => b.DisplayName.Contains("NocturneParanoiaTarget")))
            //{

            //    Console.WriteLine(b.DisplayName + " : " + b.StartTime + " : " + b.EndTime + " : " + Game.Time);
            //}



            if (MenuLocal.Item(GetPcModeStringValue + "DrawRStatus").GetValue <StringList>().SelectedIndex == 1 && ObjectManager.Player.HasNocturneParanoia())
            {
                BuffInstance b = ObjectManager.Player.Buffs.Find(buff => buff.DisplayName == "NocturneParanoiaTarget");
                if (NocturneParanoia.EndTime < Game.Time || b.EndTime > NocturneParanoia.EndTime)
                {
                    NocturneParanoia.StartTime = b.StartTime;
                    NocturneParanoia.EndTime   = b.EndTime;
                }
            }


            var drawBuffs = MenuLocal.Item(GetPcModeStringValue + "DrawBuffs").GetValue <StringList>().SelectedIndex;

            if ((drawBuffs == 1 | drawBuffs == 3) && ObjectManager.Player.HasBlueBuff())
            {
                BuffInstance b = ObjectManager.Player.Buffs.Find(buff => buff.DisplayName == "CrestoftheAncientGolem");
                if (BlueBuff.EndTime < Game.Time || b.EndTime > BlueBuff.EndTime)
                {
                    BlueBuff.StartTime = b.StartTime;
                    BlueBuff.EndTime   = b.EndTime;
                }
            }

            if ((drawBuffs == 2 | drawBuffs == 3) && ObjectManager.Player.HasRedBuff())
            {
                BuffInstance b = ObjectManager.Player.Buffs.Find(buff => buff.DisplayName == "BlessingoftheLizardElder");
                if (RedBuff.EndTime < Game.Time || b.EndTime > RedBuff.EndTime)
                {
                    RedBuff.StartTime = b.StartTime;
                    RedBuff.EndTime   = b.EndTime;
                }
            }
        }
Ejemplo n.º 27
0
        public override void OnAddition(BuffManager bm, BuffInstance bi, bool travelReaddition)
        {
            BuffInstanceXenogenesis instance = bi as BuffInstanceXenogenesis;

            instance.Abductee  = bm.Actor;
            instance.Pregnancy = bm.Actor.SimDescription.Pregnancy;
            instance.Alien     = SimDescription.Find(instance.Pregnancy.DadDescriptionId);
            instance.StartPregnancy();
        }
Ejemplo n.º 28
0
        public override void OnRemoval(BuffManager bm, BuffInstance bi)
        {
            base.OnRemoval(bm, bi);

            Sim actor = bm.Actor;

            BuffBooter.removeCommodityMultiplier(actor, CommodityKind.Hunger, kMinorWoundHungerDecayMultiplier);
            BuffBooter.removeCommodityMultiplier(actor, CommodityKind.Energy, kMinorWoundEnergyDecayMultiplier);
        }
Ejemplo n.º 29
0
 public void removeBuffEntity(Entity origin, Entity target, string buffId)
 {
     Debug.Log("removeBuffEntity " + buffId);
     if (target.hasBuff(buffId))
     {
         BuffInstance bi = target.removeBuffInstance(buffId);
         resolveBuff(bi.buff, bi.origin, bi.target.currentCell, "onLostHandler");
     }
 }
Ejemplo n.º 30
0
 /// <summary>
 ///     Gets the best cleanse item.
 /// </summary>
 /// <param name="ally">The ally.</param>
 /// <param name="buff">The buff.</param>
 /// <returns></returns>
 private Spell GetBestCleanseItem(GameObject ally, BuffInstance buff)
 {
     return
         (this.Items.OrderBy(x => x.Priority)
          .Where(x => x.WorksOn.Any(y => buff.Type.HasFlag(y)))
          .Where(x => ally.IsMe || x.WorksOnAllies)
          .Where(x => x.Spell.IsReady() && x.Spell.IsInRange(ally) && x.Spell.Slot != SpellSlot.Unknown)
          .Select(item => item.Spell)
          .FirstOrDefault());
 }
Ejemplo n.º 31
0
        public override void OnAddition(BuffManager bm, BuffInstance bi, bool travelReaddition)
        {
            BuffInstancePetstilence buffInstanceSniffles = bi as BuffInstancePetstilence;

            //Actor.PlaySoloAnimation("ac_idle_sit_groomSelf_hack_x", yield: true, (ProductVersion)512);

            buffInstanceSniffles.SnifflesContagionBroadcaster = new ReactionBroadcaster(bi.TargetSim.CreatedSim,
                                                                                        kSickBroadcastParams, PetstilenceContagionCallback);
            base.OnAddition(bm, bi, travelReaddition);
        }
Ejemplo n.º 32
0
        public double GetDamageRemainingDamage(Obj_AI_Base target, BuffInstance buff)
        {
            var damage = GetdTotalBuffDamage(target, buff);

            if (Stacks == 1)
            {
                return(damage);
            }
            return(damage / Stacks * Math.Ceiling(CombatHelper.GetBuffTime(buff)));
        }
Ejemplo n.º 33
0
        public override void OnRemoval(BuffManager bm, BuffInstance bi)
        {
            BuffInstancePetstilence buffInstanceGermy = bi as BuffInstancePetstilence;

            if (buffInstanceGermy.SnifflesContagionBroadcaster != null)
            {
                buffInstanceGermy.SnifflesContagionBroadcaster.Dispose();
                buffInstanceGermy.SnifflesContagionBroadcaster = null;
            }
            base.OnRemoval(bm, bi);
        }
Ejemplo n.º 34
0
        public static float GetRawRendDamage(Obj_AI_Base target, int customStacks = -1, BuffInstance rendBuff = null)
        {
            rendBuff = rendBuff ?? target.GetRendBuff();
            var stacks = (customStacks > -1 ? customStacks : rendBuff != null ? rendBuff.Count : 0) - 1;
            if (stacks > -1)
            {
                var index = SpellManager.E.Level - 1;
                return RawRendDamage[index] + stacks * RawRendDamagePerSpear[index] +
                       Player.Instance.TotalAttackDamage * (RawRendDamageMultiplier[index] + stacks * RawRendDamagePerSpearMultiplier[index]);
            }

            return 0;
        }
Ejemplo n.º 35
0
 public static void evadeBuff(BuffInstance buf, TargetedSkills.TargSkill skill)
 {
     if (Q.IsReady() && jumpEnesAround() != 0 && buf.EndTime - Game.Time < skill.delay / 1000)
     {
         useQonBest();
     }
     else if (W.IsReady() && (!Q.IsReady() || jumpEnesAround() != 0) && buf.EndTime - Game.Time < 0.4f)
     {
         var dontMove = 400;
         PortAIO.OrbwalkerManager.SetMovement(false);
         W.Cast();
         Utility.DelayAction.Add(dontMove, () => PortAIO.OrbwalkerManager.SetMovement(true));
     }
 }
Ejemplo n.º 36
0
 public static void EvadeBuff(BuffInstance buf, TargetedSkills.TargSkill skill)
 {
     if (Q.IsReady() && JumpEnesAround() != 0 && buf.EndTime - Game.Time < skill.Delay/1000)
     {
         // Console.WriteLine("evade buuf");
         UseQonBest();
     }
     else if (W.IsReady() && (!Q.IsReady() || JumpEnesAround() != 0) && buf.EndTime - Game.Time < 0.4f)
     {
         const int dontMove = 400;
         LxOrbwalker.CantMoveTill = Environment.TickCount + dontMove;
         W.Cast();
     }
 }
Ejemplo n.º 37
0
 public double GetDamageAfterTime(Obj_AI_Base target, BuffInstance buff, float time)
 {
     var damage = GetdTotalBuffDamage(target, buff);
     var nextStackCount = 1*Math.Max(1, time);
     if (Stacks != Time && Stacks < Time)
     {
         Console.WriteLine(
             "\t \t " + (buff.EndTime - buff.StartTime - Time + time) + " > " + CombatHelper.GetBuffTime(buff));
         nextStackCount = buff.EndTime - buff.StartTime - Time + time > CombatHelper.GetBuffTime(buff) ? 1 : 0;
     }
     if (buff.Name == "tristanaechargesound" && buff.Count >= 3)
     {
         nextStackCount = 1;
     }
     return damage/Stacks*nextStackCount;
 }
Ejemplo n.º 38
0
            public override void OnTimeout(BuffManager bm, BuffInstance bi, Buff.OnTimeoutReasons reason)
            {
                if (bm.Actor.RabbitHoleCurrent != null)
                {
                    return;
                }
                if (bm.Actor.Occupation != null && bm.Actor.Occupation.IsAtWork)
                {
                    return;
                }
                InteractionInstance interactionInstance = bm.Actor.Autonomy.FindBestActionForCommodityOnLot(CommodityKind.RelieveNausea, bm.Actor.LotCurrent, AutonomySearchType.BuffAutoSolve);
                if (interactionInstance != null)
                {
                    interactionInstance.CancellableByPlayer = false;
                    interactionInstance.SetPriority(InteractionPriorityLevel.High);
                    bm.Actor.InteractionQueue.AddNext(interactionInstance);
                    return;
                }
                bm.Actor.InteractionQueue.AddNext(BuffNauseous.ThrowUpOutside.Singleton.CreateInstance(bm.Actor, bm.Actor, new InteractionPriority(InteractionPriorityLevel.High), false, false));
		
            }
Ejemplo n.º 39
0
 public static float GetBuffTime(BuffInstance buff)
 {
     return buff.EndTime - Game.Time;
 }
Ejemplo n.º 40
0
        private static bool IsRendKillable(this Obj_AI_Base target, BuffInstance buff, int ELevel)
        {
            var totalHealth = target.TotalShieldHealth();

            var hero = target as AIHeroClient;
            if (hero != null)
            {
                if (hero.HasUndyingBuff()) return false;

                // Take into account Blitzcranks passive
                if (hero.ChampionName == "Blitzcrank" && !target.HasBuff("BlitzcrankManaBarrierCD") && !target.HasBuff("ManaBarrier"))
                {
                    totalHealth += target.Mana / 2;
                }
            }

            return GetRendDamage(target, -1, buff, ELevel) + 100f > totalHealth;
        }
Ejemplo n.º 41
0
 public static float GetBuffTime(BuffInstance buff)
 {
     return (float) buff.EndTime - Game.ClockTime;
 }
Ejemplo n.º 42
0
 public static float GetBuffTime(BuffInstance buff)
 {
     return (float) Math.Floor(buff.EndTime - Game.ClockTime);
 }
Ejemplo n.º 43
0
 public RAntiItem(BuffInstance buff)
 {
     StartTick = Game.Time + (buff.EndTime - buff.StartTime) - (R.Level * 0.5f + 1);
     EndTick = Game.Time + (buff.EndTime - buff.StartTime);
 }
Ejemplo n.º 44
0
 public double GetdTotalBuffDamage(Obj_AI_Base target, BuffInstance buff)
 {
     var caster = buff.Caster as AIHeroClient;
     var SpelLevel = caster.Spellbook.GetSpell(Slot).Level;
     if (caster.Spellbook.GetSpell(Slot).Level <= 0)
     {
         return 0;
     }
     if (Slot != SpellSlot.Unknown)
     {
         return caster.LSGetSpellDamage(target, Slot, Stage)*Multiplier;
     }
     if (BuffName == "toxicshotparticle")
     {
         var dmg = new double[] {24, 48, 72, 96, 120}[SpelLevel - 1] + 0.4*caster.TotalMagicalDamage;
         return caster.CalcDamage(target, DamageType.Magical, dmg);
     }
     if (BuffName == "deadlyvenom")
     {
         return GetBuffDamage(12, 4, 6, SpelLevel)*buff.Count;
     }
     if (BuffName == "MordekaiserChildrenOfTheGrave")
     {
         var dmg = (new[] {18.75, 22.5, 26.25}[SpelLevel - 1]/100 + 0.03/100)*
                   caster.TotalMagicalDamage*target.MaxHealth;
         return caster.CalcDamage(target, DamageType.Magical, dmg);
     }
     if (BuffName == "dariushemo")
     {
         var dmg = (9 + SpelLevel + caster.FlatPhysicalDamageMod*0.3d)*buff.Count;
         return caster.CalcDamage(target, DamageType.Physical, dmg);
     }
     if (BuffName == "brandablaze")
     {
         var dmg = target.MaxHealth*0.08d;
         return caster.CalcDamage(target, DamageType.Magical, dmg);
     }
     if (BuffName == "summonerdot")
     {
         return caster.GetSummonerSpellDamage(target, DamageLibrary.SummonerSpells.Ignite);
     }
     if (BuffName == "tristanaechargesound")
     {
         var dmg = caster.LSGetSpellDamage(target, Slot, Stage)*buff.Count;
         return caster.CalcDamage(target, DamageType.Physical, dmg);
     }
     if (BuffName == "swainbeamdamage")
     {
         var dmg = caster.LSGetSpellDamage(target, Slot, Stage)*3;
         return caster.CalcDamage(target, DamageType.Magical, dmg);
     }
     if (BuffName == "SwainTorment")
     {
         var dmg = new double[] {81, 128, 176, 228, 282}[SpelLevel - 1] +
                   new[] {0.86, 0.89, 0.92, 0.93, 0.96}[SpelLevel - 1]*caster.TotalMagicalDamage;
         return caster.CalcDamage(target, DamageType.Magical, dmg);
     }
     return 0;
 }
Ejemplo n.º 45
0
 /// <summary>
 ///     Gets the best cleanse item.
 /// </summary>
 /// <param name="ally">The ally.</param>
 /// <param name="buff">The buff.</param>
 /// <returns></returns>
 private static LeagueSharp.Common.Spell GetBestCleanseItem(GameObject ally, BuffInstance buff)
 {
     return (from item in Items.OrderBy(x => x.Priority) where item.WorksOn.Any(x => buff.Type.HasFlag(x)) where ally.IsMe || item.WorksOnAllies where item.Spell.IsInRange(ally) && item.Spell.Slot != SpellSlot.Unknown select item.Spell).FirstOrDefault();
 }
Ejemplo n.º 46
0
        public float GetRawRendDamage(Obj_AI_Base target, int customStacks = -1, BuffInstance rendBuff = null)
        {
            rendBuff = rendBuff ?? GetRendBuff(target);
            var stacks = (customStacks > -1 ? customStacks : rendBuff != null ? rendBuff.Count : 0) - 1;
            if (stacks > -1)
            {
                return RawRendDamage[ObjectManager.Player.Spellbook.GetSpell(SpellSlot.E).Level-1] + stacks * RawRendDamagePerSpear[ObjectManager.Player.Spellbook.GetSpell(SpellSlot.E).Level-1] +
                       ObjectManager.Player.FlatPhysicalDamageMod * (RawRendDamageMultiplier[ObjectManager.Player.Spellbook.GetSpell(SpellSlot.E).Level-1] + stacks * RawRendDamagePerSpearMultiplier[ObjectManager.Player.Spellbook.GetSpell(SpellSlot.E).Level-1]);
            }

            return 0;
        }
Ejemplo n.º 47
0
        private static void UpdateBeamStatus(LeblancSoulShackleMType beamType, Obj_AI_Base t, BuffInstance buffInstance, float starTime, float EndTime)
        {
            if (!DrawRObject && !DrawRObject)
            {
                return;
            }

            if (DrawWObject)
            {
                if (beamType == LeblancSoulShackleMType.FromE)
                {
                    if (LeblancSoulShackle.EndTime < Game.Time || buffInstance.EndTime > LeblancSoulShackle.EndTime)
                    {
                        LeblancSoulShackle.Object = t;
                        LeblancSoulShackle.StartTime = buffInstance.StartTime;
                        LeblancSoulShackle.EndTime = (float) (buffInstance.EndTime + 0.3);
                    }
                }
            }

            if (DrawRObject)
            {
                if (beamType == LeblancSoulShackleMType.FromR)
                {
                    if (LeblancSoulShackleM.EndTime < Game.Time || buffInstance.EndTime > LeblancSoulShackleM.EndTime)
                    {
                        LeblancSoulShackleM.Object = t;
                        LeblancSoulShackleM.StartTime = buffInstance.StartTime;
                        LeblancSoulShackleM.EndTime = (float) (buffInstance.EndTime + 0.3);
                    }
                }
            }
        }
Ejemplo n.º 48
0
        private static void OnGameUpdate(EventArgs args)
        {
            try
            {
                if (Player.IsDead) return;
                var QTarget = TargetSelector.GetTarget(_Q.Range, TargetSelector.DamageType.True);
                var ETarget = TargetSelector.GetTarget(_E.Range, TargetSelector.DamageType.Physical);
                //var RTarget = TargetSelector.GetTarget(_R.Range, TargetSelector.DamageType.Physical);
                //var RTarget = ObjectManager.Get<Obj_AI_Hero>().OrderByDescending(x => x.Health).FirstOrDefault(x => x.IsEnemy && x.Distance(Player) < 1200);                
                PoppyPassive = ObjectManager.Player.Buffs.Find(DrawFX => DrawFX.Name == "poppypassiveshield" && DrawFX.IsValidBuff());
                if (PoppyPassive != null)
                    shield.ShieldMe = null;

                if (Rsender.Enable == true && _R.IsReady() && _R.IsCharging && Rsender.Type == "gap")
                    _R.Cast(Rsender.Sender, true);
                if (Rsender.Enable == true && _R.IsReady() && _R.IsCharging && Rsender.Type == "KillSteal" && Player.Distance(Rsender.Sender) < 1200)
                    _R.Cast(Rsender.Sender, true);
                if (Rsender.Enable == true && _R.IsReady() && _R.IsCharging && Rsender.Type == "Combo" && Player.Distance(Rsender.Sender) < 1200)
                    _R.Cast(Rsender.Sender, true);

                // KillSteal
                if (_MainMenu.Item("Poppy_KUse_Q").GetValue<bool>() && QTarget != null && QTarget.Health < _Q.GetDamage(QTarget) && _Q.IsReady())
                    _Q.Cast(QTarget, true);
                if (_MainMenu.Item("Poppy_KUse_E").GetValue<bool>() && ETarget != null && _E.IsReady())
                {
                    var FinalPosition = ETarget.BoundingRadius + ETarget.Position.Extend(ObjectManager.Player.Position, -360);
                    if (FinalPosition.IsWall() && ETarget.Health < (_E.GetDamage(ETarget) * 2))
                        _E.Cast(ETarget, true);
                    if (ETarget.Health < _E.GetDamage(ETarget))
                        _E.Cast(ETarget, true);
                }
                if (_MainMenu.Item("Poppy_KUse_R").GetValue<bool>() && _R.IsReady() && !Rsender.Enable)
                {
                    foreach (var item in ObjectManager.Get<Obj_AI_Hero>().OrderByDescending(x => x.Health))
                    {
                        if (item.IsEnemy && !item.IsDead && item.Distance(Player) < 1200 && !_R.IsCharging && item.Health < _R.GetDamage(item))
                        {
                            _R.StartCharging();
                            Rsender.Sender = item;
                            Rsender.Enable = true;
                            Rsender.Type = "KillSteal";
                        }
                    }
                }
                // KillSteal

                //CC
                if (_MainMenu.Item("Poppy_CC").GetValue<KeyBind>().Active)
                {
                    Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);
                    if (_R.IsReady())
                    {
                        foreach (var item in ObjectManager.Get<Obj_AI_Hero>().OrderByDescending(x => x.IsEnemy))
                        {
                            if (item.Distance(Player) < 600 && item.Distance(Game.CursorPos) < 200)
                            {
                                if (_R.IsCharging)
                                {
                                    _R.Cast(item, true);
                                }
                                else
                                {
                                    _R.StartCharging();
                                }
                            }
                        }
                    }
                }

                if (_MainMenu.Item("CKey").GetValue<KeyBind>().Active) // Combo
                {
                    if (_MainMenu.Item("Poppy_CUse_R").GetValue<bool>() && _R.IsReady() && !Rsender.Enable)
                    {
                        if (_MainMenu.Item("Poppy_CUse_R_Enable").GetValue<bool>())
                        {
                            foreach (var item in ObjectManager.Get<Obj_AI_Hero>().OrderBy(x => x.MaxHealth))
                            {
                                if (item.IsEnemy && !item.IsDead && _MainMenu.Item("Poppy_CUse" + item.ChampionName).GetValue<bool>() && item.Distance(Player) < 1200)
                                {
                                    _R.StartCharging();
                                    Rsender.Sender = item;
                                    Rsender.Enable = true;
                                    Rsender.Type = "Combo";
                                }
                            }
                        }
                        else
                        {
                            var RTarget = ObjectManager.Get<Obj_AI_Hero>().OrderBy(x => x.MaxHealth).FirstOrDefault(x => x.IsEnemy && x.Distance(Player) < 1200);
                            _R.StartCharging();
                            Rsender.Sender = RTarget;
                            Rsender.Enable = true;
                            Rsender.Type = "Combo";
                        }
                    }
                    if (_MainMenu.Item("Poppy_CUse_Q").GetValue<bool>() && QTarget != null && _Q.IsReady())
                        _Q.Cast(QTarget, true);
                    //벽꿍
                    if (_MainMenu.Item("Poppy_CUse_E").GetValue<bool>() && ETarget != null && _E.IsReady())
                    {
                        var FinalPosition = ETarget.BoundingRadius + ETarget.Position.Extend(ObjectManager.Player.Position, -360);
                        if (FinalPosition.IsWall())
                        {
                            _E.Cast(ETarget, true);
                        }
                    }
                }

                if (_MainMenu.Item("LKey").GetValue<KeyBind>().Active) // LaneClear
                {
                    var MinionTarget = MinionManager.GetMinions(1100, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.Health);
                    foreach (var minion in MinionTarget)
                    {
                        if (_Q.IsReady() && _MainMenu.Item("Poppy_LUse_Q").GetValue<bool>() && minion != null && !Orbwalking.CanAttack() && Orbwalking.CanMove(5))
                        {
                            _Q.Cast(minion, true);

                        }
                        if (_E.IsReady() && _MainMenu.Item("Poppy_LUse_E").GetValue<bool>() && minion != null && !Orbwalking.CanAttack() && Orbwalking.CanMove(5))
                        {
                            _E.Cast(minion, true);
                        }
                    }
                }
                if (_MainMenu.Item("JKey").GetValue<KeyBind>().Active) // JungleClear
                {
                    var JungleTarget = MinionManager.GetMinions(1100, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth);
                    foreach (var minion in JungleTarget)
                    {
                        if (_Q.IsReady() && _MainMenu.Item("Poppy_JUse_Q").GetValue<bool>() && minion != null && !Orbwalking.CanAttack() && Orbwalking.CanMove(5))
                        {
                            _Q.Cast(minion, true);
                        }
                        if (_E.IsReady() && _MainMenu.Item("Poppy_JUse_E").GetValue<bool>() && minion != null && !Orbwalking.CanAttack() && Orbwalking.CanMove(5))
                        {
                            _E.Cast(minion, true);
                        }
                    }
                }
            }
            catch (Exception)
            {
                if (NowTime() > ErrorTime)
                {
                    //Game.PrintChat(ChampName + " in FreshBooster isn't Load. Error Code 06");
                    ErrorTime = TickCount(10000);
                }
            }
        }
Ejemplo n.º 49
0
 private static void SolveBuffBlock(BuffInstance buff)
 {
     if (Player.IsDead || Player.HasBuffOfType(BuffType.SpellShield) || Player.HasBuffOfType(BuffType.SpellImmunity)
         || !getCheckBoxItem(evadeMenu, "W") || !W.IsReady())
         return;
     if (buff == null)
         return;
     if ((buff.EndTime - Game.Time) * 1000 <= 250 + Game.Ping)
     {
         var tar = GetTarget(W.Range);
         if (tar.LSIsValidTarget(W.Range))
             Player.Spellbook.CastSpell(SpellSlot.W, tar.Position);
         else
         {
             var hero = HeroManager.Enemies.FirstOrDefault(x => x.LSIsValidTarget(W.Range));
             if (hero != null)
                 Player.Spellbook.CastSpell(SpellSlot.W, hero.Position);
             else
                 Player.Spellbook.CastSpell(SpellSlot.W, Player.ServerPosition.LSExtend(Game.CursorPos, 100));
         }
     }
 }
Ejemplo n.º 50
0
 public double GetRendDamage(Obj_AI_Base target, int customStacks = -1, BuffInstance rendBuff = null)
 {
     // Calculate the damage and return
     return ObjectManager.Player.CalculateDamage(target, DamageType.Physical, GetRawRendDamage(target, customStacks, rendBuff));
 }
Ejemplo n.º 51
0
 public static float GetRendDamage(Obj_AI_Base target, int customStacks = -1, BuffInstance rendBuff = null)
 {
     // Calculate the damage and return
     return Player.Instance.CalculateDamageOnUnit(target, DamageType.Physical, GetRawRendDamage(target, customStacks, rendBuff) - Config.Misc.DamageReductionE) *
            (Player.Instance.HasBuff("SummonerExhaustSlow") ? 0.6f : 1); // Take into account Exhaust, migh just add that to the SDK
 }
Ejemplo n.º 52
0
 /// <summary>
 ///     Gets the best cleanse item.
 /// </summary>
 /// <param name="ally">The ally.</param>
 /// <param name="buff">The buff.</param>
 /// <returns></returns>
 private static Spell GetBestCleanseItem(GameObject ally, BuffInstance buff)
 {
     return
         Items.OrderBy(x => x.Priority)
             .Where(
                 x =>
                 x.WorksOn.Contains(buff.Type) && (ally.IsMe || x.WorksOnAllies)
                 && (x.Spell.IsReady() && x.Spell.IsInRange(ally) && x.Spell.Slot != default(SpellSlot)))
             .Select(x => x.Spell)
             .FirstOrDefault();
 }
Ejemplo n.º 53
0
        private static void OnGameUpdate(EventArgs args)
        {
            try
            {
                if (Player.IsDead) return;

                var QTarget = TargetSelector.GetTarget(_Q.Range, TargetSelector.DamageType.Magical);
                var WTarget = TargetSelector.GetTarget(_W.Range, TargetSelector.DamageType.Magical);
                var ETarget = TargetSelector.GetTarget(_E.Range, TargetSelector.DamageType.Magical);
                
                RyzePassive = ObjectManager.Player.Buffs.Find(DrawFX => DrawFX.Name.ToLower() == "ryzepassivestack" && DrawFX.IsValidBuff()); // 라이즈 스택
                Ryzepassivecharged = ObjectManager.Player.Buffs.Find(DrawFX => DrawFX.Name.ToLower() == "ryzepassivecharged" && DrawFX.IsValidBuff());
                Buff_Recall = ObjectManager.Player.IsRecalling();
                if (Buff_Recall)
                    Recall_Time = TickCount(1000);
                if (RyzePassive != null)
                {
                    RyzeStack = RyzePassive.Count;
                    PassiveEndTime = RyzePassive.EndTime;
                }
                else
                    RyzeStack = 0;

                if (_MainMenu.Item("CKey").GetValue<KeyBind>().Active)
                    _Q.Collision = false;
                else
                    _Q.Collision = true;

                if (_MainMenu.Item("Ryze_KUse_Q").GetValue<bool>() && QTarget != null && _Q.IsReady() && _Q.GetDamage(QTarget) > QTarget.Health)
                    _Q.CastIfHitchanceEquals(QTarget, HitChance.High);
                if (_MainMenu.Item("Ryze_KUse_E").GetValue<bool>() && ETarget != null && _E.IsReady() && _E.GetDamage(ETarget) > ETarget.Health)
                    _E.CastOnUnit(ETarget, true);
                if (_MainMenu.Item("Ryze_KUse_W").GetValue<bool>() && WTarget != null && _W.IsReady() && _W.GetDamage(WTarget) > WTarget.Health)
                    _W.CastOnUnit(WTarget, true);

                if (_MainMenu.Item("CKey").GetValue<KeyBind>().Active) // Combo
                {
                    if (SpeedTime > Environment.TickCount)
                        return;
                    //if (_MainMenu.Item("Ryze_CUse_R").GetValue<bool>() && _R.IsReady() && WTarget != null
                    //    && ((_Q.IsReady() || _W.IsReady() || _E.IsReady()) && RyzeStack > 2)
                    //    || RyzeStack == 4 || Ryzepassivecharged != null)
                    //    _R.Cast(true);
                    if (_MainMenu.Item("Ryze_CUse_E").GetValue<bool>() && _E.IsReady() && ETarget != null)
                        _E.CastOnUnit(ETarget, true);
                    if (_MainMenu.Item("Ryze_CUse_W").GetValue<bool>() && _W.IsReady() && WTarget != null)
                        _W.CastOnUnit(WTarget, true);
                    if (_MainMenu.Item("Ryze_CUse_Q").GetValue<bool>() && _Q.IsReady() && WTarget != null && _W.IsReady())
                        _Q.Cast(WTarget, true);
                    if (_MainMenu.Item("Ryze_CUse_Q").GetValue<bool>() && _Q.IsReady() && QTarget != null && !_W.IsReady())
                        _Q.Cast(QTarget, true);                    
                }

                if ((_MainMenu.Item("HKey").GetValue<KeyBind>().Active || _MainMenu.Item("Ryze_HToggle").GetValue<bool>())
                    && _MainMenu.Item("Ryze_HManarate").GetValue<Slider>().Value < Player.ManaPercent) // Harass
                {
                    if (_MainMenu.Item("Ryze_HToggle").GetValue<bool>() && Recall_Time > Environment.TickCount)
                        return;
                    if (_MainMenu.Item("Ryze_HUse_W").GetValue<bool>() && _W.IsReady() && WTarget != null)
                        _W.CastOnUnit(WTarget, true);
                    if (_MainMenu.Item("Ryze_HUse_Q").GetValue<bool>() && _Q.IsReady() && QTarget != null)
                        _Q.CastIfHitchanceEquals(QTarget, HitChance.VeryHigh, true);
                    if (_MainMenu.Item("Ryze_HUse_E").GetValue<bool>() && _E.IsReady() && ETarget != null)
                        _E.CastOnUnit(ETarget, true);
                }

                if (_MainMenu.Item("LKey").GetValue<KeyBind>().Active && _MainMenu.Item("Ryze_LManaRate").GetValue<Slider>().Value < Player.ManaPercent) // LaneClear
                {
                    var MinionTarget = MinionManager.GetMinions(_W.Range, MinionTypes.All, MinionTeam.Enemy).OrderBy(x => x.ServerPosition.Distance(Player.ServerPosition));
                    foreach (var item in MinionTarget)
                    {
                        if (_MainMenu.Item("Ryze_LUseW").GetValue<bool>() && _W.IsReady())
                            _W.CastOnUnit(item, true);
                        if (_MainMenu.Item("Ryze_LUseQ").GetValue<bool>() && _Q.IsReady())
                            _Q.CastIfHitchanceEquals(item, HitChance.High, true);
                        if (_MainMenu.Item("Ryze_LUseE").GetValue<bool>() && _E.IsReady())
                            _E.CastOnUnit(item, true);
                    }
                }

                if (_MainMenu.Item("JKey").GetValue<KeyBind>().Active && _MainMenu.Item("Ryze_JManaRate").GetValue<Slider>().Value < Player.ManaPercent) // JungleClear
                {
                    var MinionTarget = MinionManager.GetMinions(_W.Range, MinionTypes.All, MinionTeam.Neutral).OrderBy(x => x.ServerPosition.Distance(Player.ServerPosition));
                    foreach (var item in MinionTarget)
                    {
                        if (_MainMenu.Item("Ryze_JUseW").GetValue<bool>() && _W.IsReady())
                            _W.CastOnUnit(item, true);
                        if (_MainMenu.Item("Ryze_JUseQ").GetValue<bool>() && _Q.IsReady())
                            _Q.CastIfHitchanceEquals(item, HitChance.High, true);
                        if (_MainMenu.Item("Ryze_JUseE").GetValue<bool>() && _E.IsReady())
                            _E.CastOnUnit(item, true);
                    }
                }

                if (_MainMenu.Item("Ryze_AutoLasthit").GetValue<bool>() && !_MainMenu.Item("CKey").GetValue<KeyBind>().Active && !_MainMenu.Item("HKey").GetValue<KeyBind>().Active
                    && Recall_Time < Environment.TickCount && RyzeStack < 4)
                {
                    var MinionTarget = MinionManager.GetMinions(_W.Range, MinionTypes.All, MinionTeam.Enemy).OrderBy(x => x.Health).FirstOrDefault(x => !x.IsDead);
                    if (_MainMenu.Item("Ryze_AutoLasthitQ").GetValue<bool>() && _Q.IsReady() && MinionTarget != null && _Q.GetDamage(MinionTarget) > MinionTarget.Health)
                        _Q.CastIfHitchanceEquals(MinionTarget, HitChance.High, true);
                    if (_MainMenu.Item("Ryze_AutoLasthitE").GetValue<bool>() && _E.IsReady() && MinionTarget != null && _E.GetDamage(MinionTarget) > MinionTarget.Health)
                        _E.CastOnUnit(MinionTarget, true);
                    if (_MainMenu.Item("Ryze_AutoLasthitW").GetValue<bool>() && _W.IsReady() && MinionTarget != null && _W.GetDamage(MinionTarget) > MinionTarget.Health)
                        _W.CastOnUnit(MinionTarget, true);
                }

                if (_MainMenu.Item("Ryze_AutoKey").GetValue<KeyBind>().Active
                    && !_MainMenu.Item("CKey").GetValue<KeyBind>().Active && !_MainMenu.Item("HKey").GetValue<KeyBind>().Active
                    && Recall_Time < Environment.TickCount && _MainMenu.Item("Ryze_AutoStack").GetValue<Slider>().Value > RyzeStack
                    && _MainMenu.Item("Ryze_AutoStack").GetValue<Slider>().Value != RyzeStack
                    && _MainMenu.Item("Ryze_AutoStack").GetValue<Slider>().Value != 0
                    && _Q.IsReady() && PassiveEndTime <= Game.ClockTime + 0.5f)
                    _Q.Cast(Game.CursorPos, true);
            }
            catch (Exception)
            {
                if (NowTime() > ErrorTime)
                {
                    //Game.PrintChat(ChampName + " in FreshBooster isn't Load. Error Code 06");
                    ErrorTime = TickCount(10000);
                }
            }
        }
Ejemplo n.º 54
0
 public override void OnTimeout(BuffManager bm, BuffInstance bi, Buff.OnTimeoutReasons reason)
 {
     bm.AddElement(DrinkingBuffs.sHangover, Origin.FromJuice);
 }
Ejemplo n.º 55
0
        private static float GetRawRendDamage(int customStacks, BuffInstance rendBuff, int ELevel)
        {
            var stacks = (customStacks > -1 ? customStacks : rendBuff?.Count ?? 0) - 1;
            if (stacks > -1)
            {
                var index = ELevel - 1;
                return RawRendDamage[index] + (stacks + 3) * RawRendDamagePerSpear[index] +
                       Player.Instance.TotalAttackDamage * (RawRendDamageMultiplier[index] + (stacks + 3) * RawRendDamagePerSpearMultiplier[index]);
            }

            return 0;
        }
Ejemplo n.º 56
0
        /// <summary>
        /// per second
        /// </summary>
        /// <param name="buff"></param>
        /// <returns></returns>
        public static float GetPotionRegenRate(BuffInstance buff)
        {
            if (buff.Name == RegenerationSpellBook.HealthPotion.BuffName ||
                buff.Name == RegenerationSpellBook.HealthPotion.BuffNameCookie)
            {
                return RegenerationSpellBook.HealthPotion.RegenRate;
            }
            if (buff.Name == RegenerationSpellBook.RefillablePotion.BuffName)
            {
                return RegenerationSpellBook.RefillablePotion.RegenRate;
            }
            if (buff.Name == RegenerationSpellBook.CorruptingPotion.BuffName)
            {
                return RegenerationSpellBook.CorruptingPotion.RegenRate;
            }
            if (buff.Name == RegenerationSpellBook.HuntersPotion.BuffName)
            {
                return RegenerationSpellBook.HuntersPotion.RegenRate;
            }

            return float.NaN;
        }
Ejemplo n.º 57
0
        public static void OnGameUpdate(EventArgs args)
        {            
            Program.Q.Collision = MainMenu._MainMenu.Item("ComboSelect").GetValue<bool>() ? true : false;
            var QTarget = TargetSelector.GetTarget(900, TargetSelector.DamageType.Magical);
            if (MainMenu._MainMenu.Item("OnlyCombo").GetValue<bool>())
            {
                QTarget = TargetSelector.GetTarget(601, TargetSelector.DamageType.Magical);
            }
            var WTarget = TargetSelector.GetTarget(Program.W.Range, TargetSelector.DamageType.Magical);
            var ETarget = TargetSelector.GetTarget(Program.E.Range, TargetSelector.DamageType.Magical);
            RyzePassive = ObjectManager.Player.Buffs.Find(DrawFX => DrawFX.Name == "ryzepassivestack" && DrawFX.IsValidBuff()); // 라이즈 스택
            Ryzepassivecharged = ObjectManager.Player.Buffs.Find(DrawFX => DrawFX.Name == "ryzepassivecharged" && DrawFX.IsValidBuff());
            Buff_Recall = ObjectManager.Player.IsRecalling();

            if (RyzePassive != null){RyzeStack = RyzePassive.Count;} else{RyzeStack = 0;}
            var recall = ObjectManager.Player.Buffs.Find(x => x.Name == "recall" && x.IsValidBuff());            

             if (MainMenu._OrbWalker.ActiveMode == LeagueSharp.Common.Orbwalking.OrbwalkingMode.Combo)   // Combo Mode
             {
                if (MainMenu._MainMenu.Item("UseR").GetValue<bool>() && Program.R.IsReady() && (Program.Q.IsReady() || Program.E.IsReady()) && 
                    (RyzeStack > 2 || Ryzepassivecharged != null) && WTarget != null)
                {
                    Program.R.Cast();
                }
                if (MainMenu._MainMenu.Item("UseW").GetValue<bool>() && Program.W.IsReady() && WTarget != null)
                {
                    Program.W.Cast(WTarget);
                }
                if ((MainMenu._MainMenu.Item("UseQ").GetValue<bool>() && Program.Q.IsReady() && QTarget != null) && (MainMenu._MainMenu.Item("UseE").GetValue<bool>() && Program.E.IsReady() && ETarget != null))
                {
                    Program.Q.Cast(QTarget);
                }
                if (MainMenu._MainMenu.Item("UseQ").GetValue<bool>() && Program.Q.IsReady() && QTarget != null)
                {
                    Program.Q.Cast(QTarget);
                }                
                if (MainMenu._MainMenu.Item("UseE").GetValue<bool>() && Program.E.IsReady() && ETarget != null && !Program.Q.IsReady())
                {
                    Program.E.Cast(ETarget);
                }                
            }

            if((MainMenu._OrbWalker.ActiveMode == LeagueSharp.Common.Orbwalking.OrbwalkingMode.Mixed || MainMenu._MainMenu.Item("AutoHarass").GetValue<bool>()) 
                && MainMenu._MainMenu.Item("HManaRate").GetValue<Slider>().Value < ObjectManager.Player.ManaPercent)    // Harass
            {
                if (MainMenu._MainMenu.Item("HUseQ").GetValue<bool>() && Program.Q.IsReady() && QTarget != null)
                {
                    Program.Q.Cast(QTarget);
                }
                if (MainMenu._MainMenu.Item("HUseW").GetValue<bool>() && Program.W.IsReady() && WTarget != null)
                {
                    Program.W.Cast(WTarget);
                }
                if (MainMenu._MainMenu.Item("HUseE").GetValue<bool>() && Program.E.IsReady() && ETarget != null)
                {
                    Program.E.Cast(ETarget);
                }
            }

            if(MainMenu._OrbWalker.ActiveMode == LeagueSharp.Common.Orbwalking.OrbwalkingMode.LaneClear)    // LaneClear
            {
                var MinionTarget = MinionManager.GetMinions(Program.Q.Range, MinionTypes.All, MinionTeam.Enemy);
                var JungleTarget = MinionManager.GetMinions(Program.Q.Range, MinionTypes.All, MinionTeam.Neutral);
                
                if(MinionTarget != null && MainMenu._MainMenu.Item("LManaRate").GetValue<Slider>().Value < Program.Player.ManaPercent)    // 미니언 있을시
                {
                    foreach(var minion in MinionTarget)
                    {
                        if(MainMenu._MainMenu.Item("LUseQ").GetValue<bool>() && Program.Q.IsReady())
                        {
                            Program.Q.CastIfHitchanceEquals(minion, HitChance.VeryHigh, true);
                        }
                        if (MainMenu._MainMenu.Item("LUseW").GetValue<bool>() && Program.W.IsReady())
                        {
                            Program.W.Cast(minion, true);
                        }
                        if (MainMenu._MainMenu.Item("LUseE").GetValue<bool>() && Program.E.IsReady())
                        {
                            Program.E.Cast(minion, true);
                        }
                    }
                }

                if(JungleTarget != null && MainMenu._MainMenu.Item("JManaRate").GetValue<Slider>().Value < Program.Player.ManaPercent)    // 정글몹 있을시
                {                    
                    foreach(var jungle in JungleTarget)
                    {
                        if (MainMenu._MainMenu.Item("JUseQ").GetValue<bool>() && Program.Q.IsReady())
                        {
                            Program.Q.CastIfHitchanceEquals(jungle, HitChance.VeryHigh, true);
                        }
                        if (MainMenu._MainMenu.Item("JUseW").GetValue<bool>() && Program.W.IsReady())
                        {
                            Program.W.Cast(jungle, true);
                        }
                        if (MainMenu._MainMenu.Item("JUseE").GetValue<bool>() && Program.W.IsReady())
                        {
                            Program.E.Cast(jungle, true);
                        }
                    }
                }
            }

            if (MainMenu._MainMenu.Item("AutoLasthit").GetValue<bool>() && LeagueSharp.Common.Orbwalking.OrbwalkingMode.Combo != MainMenu._OrbWalker.ActiveMode 
                && recall == null && RyzePassive.Count < 4 && (Program.Q.IsReady() || Program.E.IsReady()))
            {
                var MinionTarget = MinionManager.GetMinions(Program.Q.Range, MinionTypes.All, MinionTeam.Enemy);
                var minion_QTarget = MinionTarget.Where(x => x.IsValidTarget(Program.Q.Range) && Program.Q.GetPrediction(x).Hitchance >= HitChance.Medium && Program.Q.IsKillable(x)).OrderByDescending(x => x.Health).FirstOrDefault();
                var minion_ETarget = MinionTarget.Where(x => x.IsValidTarget(Program.E.Range) && Program.E.IsKillable(x)).OrderByDescending(x => x.Health).FirstOrDefault();
                if(Program.Q.IsReady() && minion_QTarget != null)
                {
                    Program.Q.Cast(minion_QTarget);
                }
                if (Program.E.IsReady() && minion_ETarget != null)
                {
                    Program.E.Cast(minion_ETarget);
                }
            }            
            if (!Buff_Recall && MainMenu._MainMenu.Item("AutoStack").GetValue<Slider>().Value != 0 && Program.Q.IsReady() && MainMenu._MainMenu.Item("AutoStack").GetValue<Slider>().Value > RyzeStack)
            {                
                Program.Q.Cast(Game.CursorPos);
            }            
        }
Ejemplo n.º 58
0
        public static void Game_OnUpdate(EventArgs args)
        {
            if (Player.IsDead)
                return;

            RyzePassive = ObjectManager.Player.Buffs.Find(DrawFX => DrawFX.Name == "ryzepassivestack" && DrawFX.IsValidBuff());
            Ryzepassivecharged = ObjectManager.Player.Buffs.Find(DrawFX => DrawFX.Name == "ryzepassivecharged" && DrawFX.IsValidBuff());
            var TargetQ = TargetSelector.GetTarget(900, TargetSelector.DamageType.Magical);
            var TargetW = TargetSelector.GetTarget(600, TargetSelector.DamageType.Magical);
            var TargetE = TargetSelector.GetTarget(600, TargetSelector.DamageType.Magical);
            var Target = TargetSelector.GetTarget(800, TargetSelector.DamageType.Magical);
            var TargetM = MinionManager.GetMinions(600, MinionTypes.All, MinionTeam.NotAlly);
            var LM = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.NotAlly);
            var QL = Menu.SubMenu("LaneClear").Item("QL").GetValue<bool>();
            var WL = Menu.SubMenu("LaneClear").Item("WL").GetValue<bool>();
            var EL = Menu.SubMenu("LaneClear").Item("EL").GetValue<bool>();
            var RL = Menu.SubMenu("LaneClear").Item("RL").GetValue<bool>();
            var BL = Menu.SubMenu("LaneClear").Item("BL").GetValue<bool>();
            var EC = Menu.SubMenu("Misc").Item("EC").GetValue<bool>();
            Buff_Recall = ObjectManager.Player.IsRecalling();

            if (Buff_Recall)
                Recall_Time = TickCount(1000);

            if (RyzePassive != null)
            {
                Stack = RyzePassive.Count;
            }
            else
            {
                Stack = 0;
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                if (Menu.SubMenu("Combospd").Item("Speed").GetValue<StringList>().SelectedIndex != 0)
                    if (SpeedTime > Environment.TickCount)
                        return;

                if (W.IsReady() && W.Level >= 1)
                {
                    Orbwalker.SetAttack(false);
                }
                if (Ryzepassivecharged == null)
                {
                    if (Stack == 0 && (TargetW.Health <= Player.GetAutoAttackDamage(Target) + RyzeQ(Target) + RyzeE(Target) + RyzeW(Target)))
                    {
                        if (W.IsReady() && Target.IsValidTarget(W.Range))
                        {
                            W.CastOnUnit(TargetE);
                        }
                        if (E.IsReady() && Target.IsValidTarget(E.Range))
                        {
                            E.CastOnUnit(TargetE);
                        }
                        if (Q.IsReady() && Target.IsValidTarget(Q.Range))
                        {
                            Q.CastOnUnit(TargetE);
                        }
                        if (W.Cooldown >= 4.5)
                            Orbwalker.SetAttack(true);
                    }
                    Orbwalker.SetAttack(true);
                }
                if (EC)
                {
                    if (Ryzepassivecharged == null)
                    {
                        if (Stack < 5)
                        {
                            if (Q.IsReady() && W.IsReady() && E.IsReady() && R.IsReady() && TargetQ.IsValidTarget(W.Range) && Stack == 1)
                            {
                                R.CastOnUnit(Player);
                                E.CastOnUnit(TargetE);
                                Q.CastOnUnit(TargetQ);
                                W.CastOnUnit(TargetW);
                                return;
                            }
                            if (Stack == 2)
                            {
                                if (E.IsReady() && W.IsReady() && R.IsReady() && TargetW.IsValidTarget(W.Range))
                                {
                                    if (Q.IsReady())
                                    {
                                        W.CastOnUnit(TargetW);
                                        Q.CastOnUnit(TargetW);
                                        E.CastOnUnit(TargetW);
                                        Q.CastOnUnit(TargetW);
                                        R.CastOnUnit(Player);
                                        Q.CastOnUnit(TargetW);
                                        E.CastOnUnit(TargetW);
                                        Q.CastOnUnit(TargetW);
                                        return;
                                    }
                                }
                            }
                            if (W.IsReady() && TargetW.IsValidTarget(W.Range) && (Stack <= 2 || (Stack == 3 && Q.IsReady() && (E.Cooldown <= 3.0 || R.Cooldown <= 3.0)) || (Stack == 4 && (E.Cooldown <= 5.5 || R.Cooldown <= 5.5))))
                                W.CastOnUnit(TargetW);
                            if (E.IsReady() && TargetW.IsValidTarget(W.Range) && (Stack <= 2 || (((Stack == 3 && Q.IsReady()) || Stack == 4) && ((W.Cooldown < 3.0 || R.Cooldown < 3.0) || ((W.Cooldown < 5.5 || R.Cooldown < 5.5) && Q.Cooldown < 2.6)))))
                                E.CastOnUnit(TargetW);
                            if (Q.IsReady() && TargetW.IsValidTarget(Q.Range) && ((Stack != 4 || ((TargetW.IsValidTarget(W.Range) && (E.Cooldown < 2.6 || W.Cooldown < 2.6 || R.Cooldown < 2.6))))))
                                Q.CastOnUnit(TargetW);
                            if (R.IsReady() && TargetW.IsValidTarget(675) && ((Stack >= 1 && W.IsReady()) || Stack == 4))
                            {
                                R.CastOnUnit(Player);
                                return;
                            }
                            if (!W.IsReady())
                                Orbwalker.SetAttack(true);
                        }

                    }
                    if (Ryzepassivecharged != null)
                    {
                        if (TargetW.IsValidTarget(W.Range) && Q.IsReady())
                        {
                            if (R.Level == 3 && Ryzepassivecharged.EndTime - Game.ClockTime <= 0.7)
                                return;
                            Q.CastOnUnit(TargetW);
                            return;
                        }
                        if (TargetW.IsValidTarget(650) && R.IsReady())
                        {
                            if (R.Level == 3 && Ryzepassivecharged.EndTime - Game.ClockTime <= 4.0)
                                return;
                            R.CastOnUnit(Player);
                            if (TargetW.IsValidTarget(W.Range + 20) && Q.IsReady())
                                Q.CastOnUnit(TargetW);
                            return;
                        }
                        if (TargetW.IsValidTarget(W.Range) && W.IsReady())
                        {
                            if (R.Level == 3 && Ryzepassivecharged.EndTime - Game.ClockTime <= 1.3)
                                return;
                            W.CastOnUnit(TargetW);
                            if (TargetW.IsValidTarget(W.Range) && Q.IsReady())
                                Q.CastOnUnit(TargetW);
                            return;
                        }
                        if (TargetW.IsValidTarget(W.Range) && E.IsReady())
                        {
                            E.CastOnUnit(TargetW);
                            if (TargetW.IsValidTarget(W.Range) && Q.IsReady())
                                Q.CastOnUnit(TargetW);
                            return;
                        }

                    }
                }


                if (!EC)
                {
                    if (Stack == 0)
                        if (Ryzepassivecharged == null)
                        {
                            if (Q.IsReady() && TargetQ.IsValidTarget(Q.Range))
                            {
                                Q.CastOnUnit(TargetQ);
                                if (E.IsReady() && TargetE.IsValidTarget(E.Range))
                                {
                                    E.CastOnUnit(TargetE);
                                }
                                return;
                            }
                        }
                    if (Stack == 1)
                        if (Ryzepassivecharged == null)
                        {
                            if (Q.IsReady() && W.IsReady() && E.IsReady() && R.IsReady() && TargetQ.IsValidTarget(Q.Range))
                            {
                                R.CastOnUnit(Player);
                                E.CastOnUnit(TargetE);
                                W.CastOnUnit(TargetW);
                                Q.CastOnUnit(TargetQ);
                                return;
                            }
                            else if (Q.IsReady() && TargetQ.IsValidTarget(Q.Range))
                            {
                                Q.CastOnUnit(TargetQ);
                                return;
                            }

                            return;
                        }
                    if (Stack == 2)
                        if (Ryzepassivecharged == null)
                        {
                            if (Q.IsReady() && E.IsReady() && W.IsReady() && R.IsReady() && TargetW.IsValidTarget(W.Range))
                            {
                                if (Q.IsReady())
                                {
                                    W.CastOnUnit(TargetW);
                                    Q.CastOnUnit(TargetW);
                                    E.CastOnUnit(TargetW);
                                    Q.CastOnUnit(TargetW);
                                    R.CastOnUnit(Player);
                                    Q.CastOnUnit(TargetW);
                                    E.CastOnUnit(TargetW);
                                    Q.CastOnUnit(TargetW);
                                    return;
                                }

                            }
                            else if (Q.IsReady() && TargetQ.IsValidTarget(Q.Range))
                            {
                                Q.CastOnUnit(TargetQ);
                                return;
                            }
                        }
                    if (Stack == 3)
                        if (Ryzepassivecharged == null)
                        {
                            if (R.IsReady() && W.IsReady() && TargetW.IsValidTarget(W.Range))
                            {
                                W.CastOnUnit(TargetW);
                                R.CastOnUnit(Player);
                            }
                            else if (W.IsReady() && Q.IsReady() && TargetW.IsValidTarget(W.Range))
                            {
                                W.CastOnUnit(TargetW);
                                Q.CastOnUnit(TargetQ);
                            }
                            else if (Q.IsReady() && E.IsReady() && R.IsReady() && TargetW.IsValidTarget(W.Range))
                            {
                                Q.CastOnUnit(TargetQ);
                                E.CastOnUnit(TargetW);
                            }

                            return;
                        }
                    if (Stack == 4)
                        if (Ryzepassivecharged == null)
                        {
                            if (W.IsReady() && TargetW.IsValidTarget(W.Range))
                            {
                                W.CastOnUnit(TargetW);
                            }
                            else if (R.IsReady() && TargetW.IsValidTarget(W.Range))
                            {
                                R.CastOnUnit(Player);
                            }
                            else if (E.IsReady() && TargetW.IsValidTarget(W.Range))
                            {
                                E.CastOnUnit(TargetE);
                            }
                            return;
                        }
                    if (Ryzepassivecharged != null)
                    {
                        if (TargetW.IsValidTarget(W.Range) && Q.IsReady())
                        {
                            Q.CastOnUnit(TargetW);
                            return;
                        }
                        if (TargetW.IsValidTarget(Q.Range) && R.IsReady())
                        {
                            R.CastOnUnit(Player);
                            if (TargetW.IsValidTarget(W.Range) && Q.IsReady())
                                Q.CastOnUnit(TargetW);
                            return;
                        }
                        if (TargetW.IsValidTarget(W.Range) && W.IsReady())
                        {
                            W.CastOnUnit(TargetW);
                            Q.CastOnUnit(TargetW);
                            return;
                        }
                        if (TargetW.IsValidTarget(E.Range) && E.IsReady())
                        {
                            E.CastOnUnit(TargetW);
                            Q.CastOnUnit(TargetW);
                            return;
                        }


                    }
                }
            }
            else
                Orbwalker.SetAttack(true);
            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed)
            {
                if (Menu.SubMenu("Combospd").Item("Speed").GetValue<StringList>().SelectedIndex != 0)
                    if (SpeedTime > Environment.TickCount)
                        return;
                var mana = Menu.SubMenu("Harass").Item("Mana").GetValue<Slider>().Value;
                if (mana > Player.ManaPercent)
                    return;
                if (Q.IsReady() && TargetQ.IsValidTarget(Q.Range) && Menu.SubMenu("Harass").Item("QH").GetValue<bool>())
                    Q.CastOnUnit(TargetQ);
                if (E.IsReady() && TargetE.IsValidTarget(E.Range) && Menu.SubMenu("Harass").Item("EH").GetValue<bool>())
                {
                    E.CastOnUnit(TargetE);
                    Player.IssueOrder(GameObjectOrder.AttackUnit, TargetE);
                }
            }


            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
            {
                if (Menu.SubMenu("Combospd").Item("Speed").GetValue<StringList>().SelectedIndex != 0)
                    if (SpeedTime > Environment.TickCount)
                        return;
                if (TargetM != null && Menu.SubMenu("LaneClear").Item("Mana").GetValue<Slider>().Value < Player.ManaPercent)
                {
                    foreach (var minion in TargetM)
                    {


                        if (Ryzepassivecharged == null)
                        {
                            if (Stack < 5)
                            {
                                if (EL && E.IsReady() && minion.IsValidTarget(W.Range) && (Stack <= 2 || (((Stack == 3 && Q.IsReady()) || Stack == 4) && ((W.Cooldown < 3.0 || R.Cooldown < 3.0) || ((W.Cooldown < 5.5 || R.Cooldown < 5.5) && Q.Cooldown < 2.6)))))
                                    E.CastOnUnit(minion, true);
                                if (WL && W.IsReady() && minion.IsValidTarget(W.Range) && (Stack <= 2 || (Stack == 3 && Q.IsReady() && (E.Cooldown <= 3.0 || R.Cooldown <= 3.0)) || (Stack == 4 && (E.Cooldown <= 5.5 || R.Cooldown <= 5.5))))
                                    W.CastOnUnit(minion, true);
                                if (QL && Q.IsReady() && minion.IsValidTarget(Q.Range) && ((Stack != 4 || ((minion.IsValidTarget(W.Range) && (E.Cooldown < 2.6 || W.Cooldown < 2.6 || R.Cooldown < 2.6))))))
                                    Q.CastOnUnit(minion, true);
                                if (RL && R.IsReady() && minion.IsValidTarget(675) && ((Stack >= 1 && W.IsReady()) || Stack == 4))
                                {
                                    R.CastOnUnit(Player);
                                    return;
                                }
                                if (!W.IsReady())
                                    Orbwalker.SetAttack(true);
                            }

                        }
                        if (Ryzepassivecharged != null)
                        {
                            if (BL)
                            {
                                if (minion.IsValidTarget(W.Range + 20) && Q.IsReady())
                                {
                                    if (R.Level == 3 && Ryzepassivecharged.EndTime - Game.ClockTime <= 0.7)
                                        return;
                                    Q.CastOnUnit(minion, true);
                                    return;
                                }
                                if (RL && minion.IsValidTarget(650) && R.IsReady())
                                {
                                    if (R.Level == 3 && Ryzepassivecharged.EndTime - Game.ClockTime <= 4.0)
                                        return;
                                    R.CastOnUnit(Player);
                                    if (minion.IsValidTarget(W.Range + 20) && Q.IsReady())
                                        Q.CastOnUnit(minion, true);
                                    return;
                                }
                                if (minion.IsValidTarget(W.Range) && W.IsReady())
                                {
                                    if (R.Level == 3 && Ryzepassivecharged.EndTime - Game.ClockTime <= 1.3)
                                        return;
                                    W.CastOnUnit(minion, true);
                                    if (minion.IsValidTarget(W.Range + 20) && Q.IsReady())
                                        Q.CastOnUnit(minion, true);
                                    return;
                                }
                                if (minion.IsValidTarget(E.Range) && E.IsReady())
                                {
                                    E.CastOnUnit(minion, true);
                                    if (minion.IsValidTarget(W.Range + 20) && Q.IsReady())
                                        Q.CastOnUnit(minion, true);
                                    return;
                                }
                            }


                        }
                    }
                }
            }
            if(Q.Level > 0 && W.Level > 0 && E.Level > 0)
              if(Menu.SubMenu("stack").Item("SC").GetValue<KeyBind>().Active)
                 if (Menu.SubMenu("stack").Item("Mana").GetValue<Slider>().Value < Player.ManaPercent)
                    if(Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.None)
                       if (Ryzepassivecharged == null)
                          if (Stack < 4)
                              if (RyzePassive == null ? true : RyzePassive.EndTime - Game.ClockTime < 0.6)
                              {
                                  if (Recall_Time > Environment.TickCount)
                                      return;
                                  if (Stack > 1 && W.IsReady() && E.IsReady() && R.IsReady())
                                      return;
                                  if (Stack > 2 && (W.IsReady() && (E.IsReady() || R.IsReady())))
                                      return;
                                  if (LM != null)
                                  {
                                      foreach (var minion in LM)
                                          if (Ryzepassivecharged == null && Stack < 4)
                                              if (minion.Health < RyzeQ(minion) && minion.IsValidTarget(Q.Range))
                                                  Q.Cast(minion, true);
                                  }
                                  if(Q.IsReady())
                                      Q.Cast(Game.CursorPos);
                              }
        }
Ejemplo n.º 59
0
 private static float GetRendDamage(Obj_AI_Base target, int customStacks, BuffInstance rendBuff, int ELevel)
 {
     return Player.Instance.CalculateDamageOnUnit(target, DamageType.Physical, GetRawRendDamage(customStacks, rendBuff, ELevel) - 10) *(Player.Instance.HasBuff("SummonerExhaustSlow") ? 0.6f : 1);
 }
Ejemplo n.º 60
0
 public override void OnTimeout(BuffManager bm, BuffInstance bi, Buff.OnTimeoutReasons reason)
 {
     if (bm.Actor != null)
         DrunkInteractions.DoDrunkInteraction(bm.Actor);
 }