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); } } }
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); }
public override void OnTimeout(BuffManager bm, BuffInstance bi, Buff.OnTimeoutReasons reason) { if (bm.Actor != null) { DrunkInteractions.DoDrunkInteraction(bm.Actor); } }
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); } } }
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; }
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); } } } }
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)); } } } }
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; } }
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); }
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); }
private static float BuffDurationLeft(BuffInstance b) { float currentTime = Game.Time; float endTime = b.EndTime; if (endTime - currentTime > GetWLength()) return GetWLength(); return endTime - currentTime; }
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); } } } }
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); } } } }
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)); }
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); } } } }
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); }
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); } } }
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())); }
public override void OnAddition(BuffManager bm, BuffInstance bi, bool travelReaddition) { BuffInstanceEWAllergies buffInstance = bi as BuffInstanceEWAllergies; buffInstance.mPlaguedSim = bm.Actor; buffInstance.DoSymptom(); }
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); }
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); }
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)); }
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); }
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; } } } } }
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)); }
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; } } }
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(); }
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); }
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"); } }
/// <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()); }
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); }
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))); }
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); }
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; }
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)); } }
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(); } }
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; }
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)); }
public static float GetBuffTime(BuffInstance buff) { return buff.EndTime - Game.Time; }
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; }
public static float GetBuffTime(BuffInstance buff) { return (float) buff.EndTime - Game.ClockTime; }
public static float GetBuffTime(BuffInstance buff) { return (float) Math.Floor(buff.EndTime - Game.ClockTime); }
public RAntiItem(BuffInstance buff) { StartTick = Game.Time + (buff.EndTime - buff.StartTime) - (R.Level * 0.5f + 1); EndTick = Game.Time + (buff.EndTime - buff.StartTime); }
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; }
/// <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(); }
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; }
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); } } } }
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); } } }
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)); } } }
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)); }
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 }
/// <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(); }
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); } } }
public override void OnTimeout(BuffManager bm, BuffInstance bi, Buff.OnTimeoutReasons reason) { bm.AddElement(DrinkingBuffs.sHangover, Origin.FromJuice); }
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; }
/// <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; }
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); } }
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); } }
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); }
public override void OnTimeout(BuffManager bm, BuffInstance bi, Buff.OnTimeoutReasons reason) { if (bm.Actor != null) DrunkInteractions.DoDrunkInteraction(bm.Actor); }