public void DecrementQueuedEffectDuration(bool verbose) { foreach (var queuedEffect in QueuedEffects.ToList()) { var effect = QueuedEffects[queuedEffect.Key]; effect.Duration = effect.Duration - 1; QueuedEffects[queuedEffect.Key] = effect; if (effect.Duration <= 0) { try { // ReSharper disable once AssignNullToNotNullAttribute var effectName = Enum.GetName(typeof(StatusEffects), queuedEffect.Key); WeaponSkills weaponSkill; Spells spell; if (Enum.TryParse(effectName, true, out weaponSkill)) { WeaponLibrary.ApplyEffect(effect.Target, weaponSkill, verbose, queuedEffect.Value); } if (Enum.TryParse(effectName, true, out spell)) { SpellLibrary.ApplyEffect(effect.Target, spell); } } catch { // ignored if it's another non-actionable type such as AnimationLocked } finally { QueuedEffects.Remove(queuedEffect.Key); } } } }
public static void OnLoad(EventArgs args) { var champion = ObjectManager.Player.ChampionName; MenuIni = MainMenu.AddMenu("Auto Steal ", "Auto Steal"); KillStealMenu = MenuIni.AddSubMenu("Kill Steal ", "Kill Steal"); KillStealMenu.AddGroupLabel("Kill Steal Settings"); KillStealMenu.Add( champion + "EnableKST", new KeyBind("Enable Kill Steal Toggle", true, KeyBind.BindTypes.PressToggle, 'M')); KillStealMenu.Add( champion + "EnableKSA", new KeyBind("Enable Kill Steal Active", false, KeyBind.BindTypes.HoldActive)); KillStealMenu.AddSeparator(); KillStealMenu.AddGroupLabel(champion + " Kill Steal Spells"); KillStealMenu.Add(champion + "AAC", new CheckBox("Use AA ")); KillStealMenu.Add(champion + "QC", new CheckBox("Use Q ")); KillStealMenu.Add(champion + "WC", new CheckBox("Use W ")); KillStealMenu.Add(champion + "EC", new CheckBox("Use E ")); KillStealMenu.Add(champion + "RC", new CheckBox("Use R ")); KillStealMenu.AddSeparator(); KillStealMenu.AddGroupLabel("Select Champions"); foreach (var enemy in ObjectManager.Get <AIHeroClient>()) { var cb = new CheckBox(enemy.BaseSkinName) { CurrentValue = true }; if (enemy.Team != Player.Instance.Team) { KillStealMenu.Add(champion + "Steal" + enemy.BaseSkinName, cb); } } KillStealMenu.AddGroupLabel(champion + " Extra Settings"); KillStealMenu.AddSeparator(); KillStealMenu.Add(champion + "all", new CheckBox("Calculate All Enabled Spells Damage", false)); JungleStealMenu = MenuIni.AddSubMenu("Jungle Steal ", "Jungle Steal"); JungleStealMenu.AddGroupLabel("Jungle Steal Settings"); JungleStealMenu.Add( champion + "EnableJST", new KeyBind("Enable Jungle Steal Toggle", true, KeyBind.BindTypes.PressToggle, 'M')); JungleStealMenu.Add( champion + "EnableJSA", new KeyBind("Enable Jungle Steal Active", false, KeyBind.BindTypes.HoldActive)); JungleStealMenu.AddSeparator(); JungleStealMenu.AddGroupLabel(champion + " Jungle Steal Spells"); JungleStealMenu.Add(champion + "AAJ", new CheckBox("Use AA ")); JungleStealMenu.Add(champion + "QJ", new CheckBox("Use Q ")); JungleStealMenu.Add(champion + "WJ", new CheckBox("Use W ")); JungleStealMenu.Add(champion + "EJ", new CheckBox("Use E ")); JungleStealMenu.Add(champion + "RJ", new CheckBox("Use R ")); JungleStealMenu.AddGroupLabel(champion + " Extra Settings"); JungleStealMenu.AddSeparator(); JungleStealMenu.Add(champion + "all", new CheckBox("Calculate All Enabled Spells Damage", false)); JungleStealMenu.AddSeparator(); JungleStealMenu.AddGroupLabel("Select Jungle Monsters"); JungleStealMenu.Add(champion + "blue", new CheckBox("Steal Blue ")); JungleStealMenu.Add(champion + "red", new CheckBox("Steal Red ")); JungleStealMenu.Add(champion + "baron", new CheckBox("Steal Baron ")); JungleStealMenu.Add(champion + "drake", new CheckBox("Steal Dragon ")); JungleStealMenu.Add(champion + "gromp", new CheckBox("Steal Gromp ")); JungleStealMenu.Add(champion + "krug", new CheckBox("Steal Krug ")); JungleStealMenu.Add(champion + "razorbeak", new CheckBox("Steal Razorbeak ")); JungleStealMenu.Add(champion + "crab", new CheckBox("Steal Crab ")); JungleStealMenu.Add(champion + "murkwolf", new CheckBox("Steal Murkwolf ")); Special = MenuIni.AddSubMenu("Special Stealer ", "Special Stealer"); Special.AddGroupLabel("Special Stealer Settings"); var asc = Special.Add(champion + "Ascension", new CheckBox("Steal Ascension Mob")); if (Game.Type != GameType.Ascension) { Special.AddLabel("This Game Mode Isn't Special :("); asc.IsVisible = false; } SpellManager.Initialize(); SpellLibrary.Initialize(); Game.OnUpdate += OnUpdate; }
private static void OnLoad() { MenuIni = MainMenu.AddMenu("Auto Farm ", "Auto Farm"); Lh = MenuIni.AddSubMenu("LastHit ", "LastHit"); Lh.AddGroupLabel("LastHit Settings"); Lh.Add( Player.ChampionName + "Enable", new KeyBind("Enable LastHit Toggle", true, KeyBind.BindTypes.PressToggle, 'M')); Lh.Add( Player.ChampionName + "Enableactive", new KeyBind("Enable LastHit Active", false, KeyBind.BindTypes.HoldActive)); Lh.Add(Player.ChampionName + "combo", new CheckBox("Disable When Combo is active ")); Lh.Add(Player.ChampionName + "harass", new CheckBox("Disable When Harass is active ")); Lh.AddSeparator(); Lh.AddGroupLabel("Spells Settings"); Lh.Add(Player.ChampionName + "Qmode", new ComboBox("Q Mode", 0, "UnKillable Minions", "LastHit")); Lh.Add(Player.ChampionName + "Q", new CheckBox("Use Q ", false)); Lh.Add(Player.ChampionName + "Wmode", new ComboBox("W Mode", 0, "UnKillable Minions", "LastHit")); Lh.Add(Player.ChampionName + "W", new CheckBox("Use W ", false)); Lh.Add(Player.ChampionName + "Emode", new ComboBox("E Mode", 0, "UnKillable Minions", "LastHit")); Lh.Add(Player.ChampionName + "E", new CheckBox("Use E ", false)); Lh.Add(Player.ChampionName + "Rmode", new ComboBox("R Mode", 0, "UnKillable Minions", "LastHit")); Lh.Add(Player.ChampionName + "R", new CheckBox("Use R ", false)); Lc = MenuIni.AddSubMenu("LaneClear ", "LaneClear"); Lc.AddGroupLabel("LaneClear Settings"); Lc.Add( Player.ChampionName + "Enable", new KeyBind("Enable LaneClear Toggle", true, KeyBind.BindTypes.PressToggle, 'M')); Lc.Add( Player.ChampionName + "Enableactive", new KeyBind("Enable LaneClear Active", false, KeyBind.BindTypes.HoldActive)); Lc.Add(Player.ChampionName + "combo", new CheckBox("Disable When Combo is active ")); Lc.Add(Player.ChampionName + "harass", new CheckBox("Disable When Harass is active ")); Lc.AddSeparator(); Lc.AddGroupLabel("Spells Settings"); Lc.Add(Player.ChampionName + "Qmode", new ComboBox("Q Mode", 0, "OnAfterAttack", "Always")); Lc.Add(Player.ChampionName + "Q", new CheckBox("Use Q ", false)); Lc.Add(Player.ChampionName + "Wmode", new ComboBox("W Mode", 0, "OnAfterAttack", "Always")); Lc.Add(Player.ChampionName + "W", new CheckBox("Use W ", false)); Lc.Add(Player.ChampionName + "Emode", new ComboBox("E Mode", 0, "OnAfterAttack", "Always")); Lc.Add(Player.ChampionName + "E", new CheckBox("Use E ", false)); Lc.Add(Player.ChampionName + "Rmode", new ComboBox("R Mode", 0, "OnAfterAttack", "Always")); Lc.Add(Player.ChampionName + "R", new CheckBox("Use R ", false)); ManaMenu = MenuIni.AddSubMenu("Mana Manager ", "Mana Manager"); ManaMenu.AddGroupLabel("Only Cast if Mana >= %"); ManaMenu.Add(Player.ChampionName + "Q", new Slider(" Q ")); ManaMenu.Add(Player.ChampionName + "W", new Slider(" W ")); ManaMenu.Add(Player.ChampionName + "E", new Slider(" E ")); ManaMenu.Add(Player.ChampionName + "R", new Slider(" R ")); DrawMenu = MenuIni.AddSubMenu("Drawings ", "Drawings"); DrawMenu.AddGroupLabel("Drawings Settings"); DrawMenu.Add(Player.ChampionName + "Q", new CheckBox("Draw Q ", false)); DrawMenu.Add(Player.ChampionName + "W", new CheckBox("Draw W ", false)); DrawMenu.Add(Player.ChampionName + "E", new CheckBox("Draw E ", false)); DrawMenu.Add(Player.ChampionName + "R", new CheckBox("Draw R ", false)); SpellManager.Initialize(); SpellLibrary.Initialize(); Orbwalker.OnUnkillableMinion += LastHit.Orbwalker_OnUnkillableMinion; Drawing.OnDraw += Drawing_OnDraw; Orbwalker.OnPostAttack += LaneClear.Orbwalker_OnPostAttack; Game.OnTick += Game_OnTick; }
private static void OnLoad() { MenuIni = MainMenu.AddMenu("Auto Farm ", "Auto Farm"); Lh = MenuIni.AddSubMenu("LastHit ", "LastHit"); Lh.AddGroupLabel("LastHit Settings"); Lh.Add( Player.ChampionName + "Enable", new KeyBind("SonVurus Aktiflestirme Tusu", true, KeyBind.BindTypes.PressToggle, 'M')); Lh.Add( Player.ChampionName + "Enableactive", new KeyBind("SonVurus Aktif", false, KeyBind.BindTypes.HoldActive)); Lh.Add(Player.ChampionName + "combo", new CheckBox("Kombo etkin oldugunda devre disi birak ")); Lh.Add(Player.ChampionName + "harass", new CheckBox("Durtme etkin oldugunda devre disi birak ")); Lh.AddSeparator(); Lh.AddGroupLabel("Spells Settings"); Lh.Add(Player.ChampionName + "Qmode", new ComboBox("Q Modu", 0, "Kesemeyecegim minyona", "SonVurus")); Lh.Add(Player.ChampionName + "Q", new CheckBox("Kullan Q ", false)); Lh.Add(Player.ChampionName + "Wmode", new ComboBox("W Modu", 0, "Kesemeyecegim minyona", "SonVurus")); Lh.Add(Player.ChampionName + "W", new CheckBox("Kullan W ", false)); Lh.Add(Player.ChampionName + "Emode", new ComboBox("E Modu", 0, "Kesemeyecegim minyona", "SonVurus")); Lh.Add(Player.ChampionName + "E", new CheckBox("Kullan E ", false)); Lh.Add(Player.ChampionName + "Rmode", new ComboBox("R Modu", 0, "Kesemeyecegim minyona", "SonVurus")); Lh.Add(Player.ChampionName + "R", new CheckBox("Kullan R ", false)); Lc = MenuIni.AddSubMenu("LaneClear ", "LaneClear"); Lc.AddGroupLabel("LaneClear Settings"); Lc.Add( Player.ChampionName + "Enable", new KeyBind("Koridor temizleme aktiflestirme tusu", true, KeyBind.BindTypes.PressToggle, 'M')); Lc.Add( Player.ChampionName + "Enableactive", new KeyBind("Koridor temizleme aktif", false, KeyBind.BindTypes.HoldActive)); Lc.Add(Player.ChampionName + "combo", new CheckBox("Kombo etkin oldugunda devre disi birak ")); Lc.Add(Player.ChampionName + "harass", new CheckBox("Durtme etkin oldugunda devre disi birak ")); Lc.AddSeparator(); Lc.AddGroupLabel("Spells Settings"); Lc.Add(Player.ChampionName + "Qmode", new ComboBox("Q Modu", 0, "SaldiridanSonra", "Surekli")); Lc.Add(Player.ChampionName + "Q", new CheckBox("Kullan Q ", false)); Lc.Add(Player.ChampionName + "Wmode", new ComboBox("W Modu", 0, "SaldiridanSonra", "Surekli")); Lc.Add(Player.ChampionName + "W", new CheckBox("Kullan W ", false)); Lc.Add(Player.ChampionName + "Emode", new ComboBox("E Modu", 0, "SaldiridanSonra", "Surekli")); Lc.Add(Player.ChampionName + "E", new CheckBox("Kullan E ", false)); Lc.Add(Player.ChampionName + "Rmode", new ComboBox("R Modu", 0, "SaldiridanSonra", "Surekli")); Lc.Add(Player.ChampionName + "R", new CheckBox("Kullan R ", false)); ManaMenu = MenuIni.AddSubMenu("Mana Manager ", "Mana Manager"); ManaMenu.AddGroupLabel("Sadece kullanilsin Mana >= %"); ManaMenu.Add(Player.ChampionName + "Q", new Slider(" Q ")); ManaMenu.Add(Player.ChampionName + "W", new Slider(" W ")); ManaMenu.Add(Player.ChampionName + "E", new Slider(" E ")); ManaMenu.Add(Player.ChampionName + "R", new Slider(" R ")); DrawMenu = MenuIni.AddSubMenu("Drawings ", "Drawings"); DrawMenu.AddGroupLabel("Drawings Settings"); DrawMenu.Add(Player.ChampionName + "Q", new CheckBox("Goster Q ", false)); DrawMenu.Add(Player.ChampionName + "W", new CheckBox("Goster W ", false)); DrawMenu.Add(Player.ChampionName + "E", new CheckBox("Goster E ", false)); DrawMenu.Add(Player.ChampionName + "R", new CheckBox("Goster R ", false)); SpellManager.Initialize(); SpellLibrary.Initialize(); Orbwalker.OnUnkillableMinion += LastHit.Orbwalker_OnUnkillableMinion; Drawing.OnDraw += Drawing_OnDraw; Orbwalker.OnPostAttack += LaneClear.Orbwalker_OnPostAttack; Game.OnTick += Game_OnTick; }
public static void OnLoad(EventArgs args) { var champion = ObjectManager.Player.ChampionName; MenuIni = MainMenu.AddMenu("Auto Steal ", "Auto Steal"); KillStealMenu = MenuIni.AddSubMenu("Kill Steal ", "Kill Steal"); KillStealMenu.AddGroupLabel("Kill Çalma Ayarları"); KillStealMenu.Add( champion + "EnableKST", new KeyBind("Kill çalma aktif tuşu", true, KeyBind.BindTypes.PressToggle, 'M')); KillStealMenu.Add( champion + "EnableKSA", new KeyBind("Kill çalma aktif", false, KeyBind.BindTypes.HoldActive)); KillStealMenu.AddSeparator(); KillStealMenu.AddGroupLabel(champion + " Kill Çalma Büyüleri"); KillStealMenu.Add(champion + "AAC", new CheckBox("Kullan AA ")); KillStealMenu.Add(champion + "QC", new CheckBox("Kullan Q ")); KillStealMenu.Add(champion + "WC", new CheckBox("Kullan W ")); KillStealMenu.Add(champion + "EC", new CheckBox("Kullan E ")); KillStealMenu.Add(champion + "RC", new CheckBox("Kullan R ")); KillStealMenu.AddSeparator(); KillStealMenu.AddGroupLabel("Şampiyon Seç"); foreach (var enemy in ObjectManager.Get <AIHeroClient>()) { var cb = new CheckBox(enemy.BaseSkinName) { CurrentValue = true }; if (enemy.Team != Player.Instance.Team) { KillStealMenu.Add(champion + "Steal" + enemy.BaseSkinName, cb); } } KillStealMenu.AddGroupLabel(champion + " Ek Ayarlar"); KillStealMenu.AddSeparator(); KillStealMenu.Add(champion + "all", new CheckBox("Tüm hazır büyülerin hasarını hesapla", false)); JungleStealMenu = MenuIni.AddSubMenu("Jungle Steal ", "Jungle Steal"); JungleStealMenu.AddGroupLabel("Orman Çalma Ayarları"); JungleStealMenu.Add( champion + "EnableJST", new KeyBind("Orman Çalma Aktif Tuşu", true, KeyBind.BindTypes.PressToggle, 'M')); JungleStealMenu.Add( champion + "EnableJSA", new KeyBind("Orman Çalma Aktif", false, KeyBind.BindTypes.HoldActive)); JungleStealMenu.AddSeparator(); JungleStealMenu.AddGroupLabel(champion + " Orman Çalma Büyüleri"); JungleStealMenu.Add(champion + "AAJ", new CheckBox("Kullan AA ")); JungleStealMenu.Add(champion + "QJ", new CheckBox("Kullan Q ")); JungleStealMenu.Add(champion + "WJ", new CheckBox("Kullan W ")); JungleStealMenu.Add(champion + "EJ", new CheckBox("Kullan E ")); JungleStealMenu.Add(champion + "RJ", new CheckBox("Kullan R ")); JungleStealMenu.AddGroupLabel(champion + " Ek Ayarlar"); JungleStealMenu.AddSeparator(); JungleStealMenu.Add(champion + "all", new CheckBox("Tüm hazır büyülerin hasarını hesapla", false)); JungleStealMenu.AddSeparator(); JungleStealMenu.AddGroupLabel("Orman Canavalarını seç"); JungleStealMenu.Add(champion + "blue", new CheckBox("Çal Mavi ")); JungleStealMenu.Add(champion + "red", new CheckBox("Çal Kırmızı ")); JungleStealMenu.Add(champion + "baron", new CheckBox("Çal Baron ")); JungleStealMenu.Add(champion + "drake", new CheckBox("Çal Ejder ")); JungleStealMenu.Add(champion + "gromp", new CheckBox("Çal Kurbağa ")); JungleStealMenu.Add(champion + "krug", new CheckBox("Çal Golem ")); JungleStealMenu.Add(champion + "razorbeak", new CheckBox("Çal Sivrigagalar ")); JungleStealMenu.Add(champion + "crab", new CheckBox("Çal YampiriYengeç ")); JungleStealMenu.Add(champion + "murkwolf", new CheckBox("Çal Alacakurtlar ")); Special = MenuIni.AddSubMenu("Special Stealer ", "Special Stealer"); Special.AddGroupLabel("Özel çalma ayarları"); var asc = Special.Add(champion + "Ascension", new CheckBox("Yükseliş mobları çalma(baska harita)")); if (Game.Type != GameType.Ascension) { Special.AddLabel("Bu oyun modu özel :("); asc.IsVisible = false; } SpellManager.Initialize(); SpellLibrary.Initialize(); Game.OnUpdate += OnUpdate; }
private static double RunSimulation(bool verbose, Player providedPlayer = null) { ResetValues(); var actors = new List<Actor>(); var player = providedPlayer ?? PlayerFactory.CreatePlayer(); var strikingDummy = StrikingDummyFactory.CreateStrikingDummy(); actors.Add(player); actors.Add(strikingDummy); RotationParser.LoadRotation((int)player.Sks); var selectedAbility = RotationParser.SelectFirstAbility(strikingDummy, verbose); while (_currentGameTime < EncounterLengthMs) { strikingDummy.DamageTaken += player.AutoAttack(strikingDummy); if (selectedAbility is WeaponSkills) { var skillDamage = player.Attack(strikingDummy, (WeaponSkills)selectedAbility); if (skillDamage > 0) { if (verbose) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine( $"T: {FormatTimespan(TimeSpan.FromMilliseconds(GetCurrentGameTime()))} | Used {selectedAbility} for {skillDamage} damage!"); } strikingDummy.DamageTaken += skillDamage; selectedAbility = RotationParser.SelectNextAbility(strikingDummy, false, verbose); IncrementTimers(actors, verbose); continue; } } if (selectedAbility is Spells) { if (SpellLibrary.IsDamageSpell((Spells)selectedAbility)) { var spellDamage = player.UseDamageSpell(strikingDummy, (Spells)selectedAbility, verbose); if (spellDamage > 0) { if (verbose) { Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine($"Used {selectedAbility} for {spellDamage} damage!"); } strikingDummy.DamageTaken += spellDamage; selectedAbility = RotationParser.SelectNextAbility(strikingDummy, false, verbose); IncrementTimers(actors, verbose); continue; } } if (SpellLibrary.IsBuffSpell((Spells)selectedAbility)) { var castSuccessfully = player.UseBuffSpell(strikingDummy, (Spells)selectedAbility, verbose); if (castSuccessfully) { if (verbose) { Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine($"Used {selectedAbility}!"); } selectedAbility = RotationParser.SelectNextAbility(strikingDummy, false, verbose); IncrementTimers(actors, verbose); continue; } } } IncrementTimers(actors, verbose); } if (verbose) { Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(); Console.WriteLine($"Average Encounter DPS: {strikingDummy.DamageTaken / TimeSpan.FromMilliseconds(EncounterLengthMs).TotalSeconds}"); } return strikingDummy.DamageTaken / TimeSpan.FromMilliseconds(EncounterLengthMs).TotalSeconds; }
private static void OnLoad() { MenuIni = MainMenu.AddMenu("Auto Farm ", "Auto Farm"); Lh = MenuIni.AddSubMenu("LastHit ", "LastHit"); Lh.AddGroupLabel("Sonvuruş Ayarları"); Lh.Add( Player.ChampionName + "Enable", new KeyBind("Son vuruş tuşu", true, KeyBind.BindTypes.PressToggle, 'M')); Lh.Add( Player.ChampionName + "Enableactive", new KeyBind("Son vuruş Aktif", false, KeyBind.BindTypes.HoldActive)); Lh.Add(Player.ChampionName + "combo", new CheckBox("Komboda Kullanma")); Lh.Add(Player.ChampionName + "harass", new CheckBox("Dürtmede Kullanma")); Lh.AddSeparator(); Lh.AddGroupLabel("Spells Settings"); Lh.Add(Player.ChampionName + "Qmode", new ComboBox("Q Modu", 0, "UnKillable Minions", "LastHit")); Lh.Add(Player.ChampionName + "Q", new CheckBox("Kullan Q ", false)); Lh.Add(Player.ChampionName + "Wmode", new ComboBox("W Modu", 0, "UnKillable Minions", "LastHit")); Lh.Add(Player.ChampionName + "W", new CheckBox("Kullan W ", false)); Lh.Add(Player.ChampionName + "Emode", new ComboBox("E Modu", 0, "UnKillable Minions", "LastHit")); Lh.Add(Player.ChampionName + "E", new CheckBox("Kullan E ", false)); Lh.Add(Player.ChampionName + "Rmode", new ComboBox("R Modu", 0, "UnKillable Minions", "LastHit")); Lh.Add(Player.ChampionName + "R", new CheckBox("Kullan R ", false)); Lc = MenuIni.AddSubMenu("LaneClear ", "LaneClear"); Lc.AddGroupLabel("Lanetemizleme Ayarları"); Lc.Add( Player.ChampionName + "Enable", new KeyBind("Lanetemizleme aktif Tuşu", true, KeyBind.BindTypes.PressToggle, 'M')); Lc.Add( Player.ChampionName + "Enableactive", new KeyBind("Lanetemizleme aktif", false, KeyBind.BindTypes.HoldActive)); Lc.Add(Player.ChampionName + "combo", new CheckBox("Kombo sırasında devredışı bırak ")); Lc.Add(Player.ChampionName + "harass", new CheckBox("Dürtme sırasından devredışı bırak ")); Lc.AddSeparator(); Lc.AddGroupLabel("Büyü Ayarları"); Lc.Add(Player.ChampionName + "Qmode", new ComboBox("Q Modu", 0, "OnAfterAttack", "Always")); Lc.Add(Player.ChampionName + "Q", new CheckBox("Kullan Q ", false)); Lc.Add(Player.ChampionName + "Wmode", new ComboBox("W Modu", 0, "OnAfterAttack", "Always")); Lc.Add(Player.ChampionName + "W", new CheckBox("Kullan W ", false)); Lc.Add(Player.ChampionName + "Emode", new ComboBox("E Modu", 0, "OnAfterAttack", "Always")); Lc.Add(Player.ChampionName + "E", new CheckBox("Kullan E ", false)); Lc.Add(Player.ChampionName + "Rmode", new ComboBox("R Modu", 0, "OnAfterAttack", "Always")); Lc.Add(Player.ChampionName + "R", new CheckBox("Kullan R ", false)); ManaMenu = MenuIni.AddSubMenu("Mana Manager ", "Mana Manager"); ManaMenu.AddGroupLabel("Manam sadece şundan yüksekse >= %"); ManaMenu.Add(Player.ChampionName + "Q", new Slider("Q Kullan")); ManaMenu.Add(Player.ChampionName + "W", new Slider("W Kullan")); ManaMenu.Add(Player.ChampionName + "E", new Slider("E Kullan")); ManaMenu.Add(Player.ChampionName + "R", new Slider("R Kullan")); DrawMenu = MenuIni.AddSubMenu("Drawings ", "Drawings"); DrawMenu.AddGroupLabel("Gösterge Ayarları"); DrawMenu.Add(Player.ChampionName + "Q", new CheckBox("Göster Q ", false)); DrawMenu.Add(Player.ChampionName + "W", new CheckBox("Göster W ", false)); DrawMenu.Add(Player.ChampionName + "E", new CheckBox("Göster E ", false)); DrawMenu.Add(Player.ChampionName + "R", new CheckBox("Göster R ", false)); SpellManager.Initialize(); SpellLibrary.Initialize(); Orbwalker.OnUnkillableMinion += LastHit.Orbwalker_OnUnkillableMinion; Drawing.OnDraw += Drawing_OnDraw; Orbwalker.OnPostAttack += LaneClear.Orbwalker_OnPostAttack; Game.OnTick += Game_OnTick; }
public void SetUp() { SpellLibrary lib = new SpellLibrary(@"C:\writer\target\Debug\i386\Writer\Dictionaries\mssp7en.dll"); }
public double UseDamageSpell(StrikingDummy target, Spells spell, bool verbose = false) { if (GcdDuration <= 0 && spell != Spells.PrePullSuiton) { var remainingCd = Cooldowns.ContainsKey(spell) ? Cooldowns[spell] : 0; throw new Exception($"Warning! Using off-gcd ability { spell } when GCD is available! Remaining cooldown on { spell }: { remainingCd }"); } if (Cooldowns.ContainsKey(spell) || QueuedEffects.ContainsKey(Skills.StatusEffects.AnimationLocked)) { return(0); } if (spell == Spells.FumaShuriken || spell == Spells.Raiton || spell == Spells.Suiton) { if (Cooldowns.ContainsKey(Spells.FumaShuriken) || Cooldowns.ContainsKey(Spells.Raiton) || Cooldowns.ContainsKey(Spells.Suiton)) { return(0); } } if (spell == Spells.TrickAttack) { if (!StatusEffects.ContainsKey(Skills.StatusEffects.Suiton)) { throw new Exception($"Warning! Cannot use TA without Suiton active!"); } if (verbose) { Console.WriteLine("Suiton removed after TA cast!"); } StatusEffects.Remove(Skills.StatusEffects.Suiton); } var potency = SpellLibrary.SpellPotencies(spell); var multiplier = CalculateMultiplier(target, SpellLibrary.SpellDamageType(spell)); var damage = FormulaLibrary.WeaponSkills(potency, Weapon.WeaponDamage, GetDexterity(), Det, multiplier); var guaranteeCrit = false; if (spell == Spells.FumaShuriken || spell == Spells.Raiton || spell == Spells.Suiton) { if (StatusEffects.ContainsKey(Skills.StatusEffects.Kassatsu)) { guaranteeCrit = true; StatusEffects.Remove(Skills.StatusEffects.Kassatsu); } } if (guaranteeCrit) { damage *= FormulaLibrary.CritDmg(Crt); } else { damage = (damage * CalculateCritChance() * FormulaLibrary.CritDmg(Crt)) + (damage * (1 - CalculateCritChance())); } SpellLibrary.QueueEffect(this, spell, target, verbose); if (spell == Spells.FumaShuriken) { Cooldowns.Add(spell, 500 + SpellLibrary.SpellCooldowns(spell)); } else if (spell == Spells.Raiton) { Cooldowns.Add(spell, 1000 + SpellLibrary.SpellCooldowns(spell)); } else if (spell == Spells.Suiton) { Cooldowns.Add(spell, 1500 + SpellLibrary.SpellCooldowns(spell)); } else if (spell == Spells.PrePullSuiton) { Cooldowns.Add(Spells.Suiton, SpellLibrary.SpellCooldowns(Spells.Suiton)); } else { Cooldowns.Add(spell, SpellLibrary.SpellCooldowns(spell)); } return(damage); }