private void OnGameUpdate(EventArgs args) { try { if (ObjectManager.Player.IsDead) { return; } try { var items = Menu.Item(Name + "Items").GetValue <bool>(); var summoners = Menu.Item(Name + "Summoners").GetValue <bool>(); if (!items && !summoners) { return; } foreach (var enemy in GameObjects.EnemyHeroes.Where(e => e.IsVisible && !e.IsDead)) { var itemDamage = (items ? Items.CalculateComboDamage(enemy) : 0) - 20; var summonerDamage = (items ? Summoners.CalculateComboDamage(enemy, true, true) : 0) - 20; if (items && itemDamage > enemy.Health) { Items.UseComboItems(enemy); } else if (summoners && summonerDamage > enemy.Health + enemy.HPRegenRate * 3) { Summoners.UseComboSummoners(enemy, true, true); } else if (items && summoners && summonerDamage + itemDamage > enemy.Health + enemy.HPRegenRate * 3) { Items.UseComboItems(enemy); Summoners.UseComboSummoners(enemy, true, true); } } } catch (Exception ex) { //Global.Logger.AddItem(new LogItem(ex)); } } catch (Exception ex) { //Global.Logger.AddItem(new LogItem(ex)); } }
public static void Init() { try { MenuIni = MainMenu.AddMenu("KappActivator", "KappActivator"); Items.Potions.Init(); Cleanse.Qss.Init(); Summoners.Init(); Items.Offence.Init(); Items.Defence.Init(); } catch (Exception ex) { Logger.Send("Activator Load Error While Init", ex, Logger.LogLevel.Error); } }
public Spell.Skillshot GetSkillshotSpell(Summoners summoner) { if (summoner != Summoners.Flash) { return(null); } var slot = Player.Instance.GetSpellSlotFromName("summonerflash"); if (slot != SpellSlot.Unknown) { return(new Spell.Skillshot(slot, 425, SkillShotType.Linear)); } return(null); }
private void OnDeserialized(StreamingContext context) { // Initialize rectangles foreach (var summoner in Summoners.Values) { summoner.Rectangle = new Rectangle(summoner.X, summoner.Y, Width, Height); summoner.LeftHalf = new Rectangle(summoner.X, summoner.Y, Width / 2, Height); summoner.RightHalf = new Rectangle(summoner.X + Width / 2, summoner.Y, Width / 2, Height); } foreach (var summoner in Cooldowns.Values) { summoner.Rectangle = new Rectangle(summoner.X, summoner.Y, Width, Height); } // Sort summoners by their name length Summoners = Summoners.OrderByDescending(o => o.Key).ToDictionary(o => o.Key, o => o.Value); }
protected override void OnInitialize() { try { _hudTexture = Resources.CD_Hud.ToTexture(); _hudSelfTexture = Resources.CD_HudSelf.ToTexture(); foreach (var enemy in GameObjects.Heroes) { var lEnemy = enemy; _spellDatas.Add(enemy.NetworkId, _spellSlots.Select(slot => lEnemy.GetSpell(slot)).ToList()); _summonerDatas.Add(enemy.NetworkId, _summonerSlots.Select(slot => lEnemy.GetSpell(slot)).ToList()); } foreach (var sName in GameObjects.Heroes.SelectMany( h => _summonerSlots.Select(summoner => h.Spellbook.GetSpell(summoner).Name.ToLower()) .Where(sName => !_summonerTextures.ContainsKey(Summoners.FixName(sName))))) { _summonerTextures[Summoners.FixName(sName)] = ((Bitmap)Resources.ResourceManager.GetObject(string.Format("CD_{0}", Summoners.FixName(sName))) ?? Resources.CD_SummonerBarrier).ToTexture(); } _heroes = Menu.Item(Name + "DrawingAlly").GetValue <bool>() && Menu.Item(Name + "DrawingEnemy").GetValue <bool>() ? GameObjects.Heroes.ToList() : (Menu.Item(Name + "DrawingAlly").GetValue <bool>() ? GameObjects.AllyHeroes : (Menu.Item(Name + "DrawingEnemy").GetValue <bool>() ? GameObjects.EnemyHeroes : new List <AIHeroClient>())).ToList(); if (!Menu.Item(Name + "DrawingSelf").GetValue <bool>()) { _heroes.RemoveAll(h => h.NetworkId == ObjectManager.Player.NetworkId); } base.OnInitialize(); } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } }
private void CompleteMatch(Region region, MyMatch match) { foreach (MyParticipant p in match.Participants) { ChooseApiKey(); System.Threading.Thread.Sleep(500); MySummoner sum = new MySummoner(Task.Run(async() => { return(await api.Summoner.GetSummonerBySummonerIdAsync(region, p.SummonerId)); }).Result); if (!summonersCompletedList.Contains(sum.SummonerId)) { Summoners.AddSummoner(sum); seedQueue.Enqueue(sum); Console.WriteLine("Summoner added!"); } } matchCompletedList.Add(match.MatchId); Matches.CompleteMatch(match); Console.WriteLine("Match added"); }
public async Task <IActionResult> Index() { League = await LeagueClient.Connect(); var region = await League.MakeApiRequest(LCUSharp.HttpMethod.Get, "/riotclient/region-locale"); var locals = JsonConvert.DeserializeObject <Region>(region.Content.ReadAsStringAsync().Result); Summoners sum = new Summoners(League); var player = sum.GetCurrentSummoner(); Summoner user = new Summoner(); user.SummonerID = player.SummonerId.ToString(); user.SummonerName = player.DisplayName; user.Region = locals.RegionRegion; user.Role = "Test"; return(View(user)); }
public async Task GetUserInfoAsync() { var region = await League.MakeApiRequest(LCUSharp.HttpMethod.Get, "/riotclient/region-locale"); var locals = JsonConvert.DeserializeObject <Region>(region.Content.ReadAsStringAsync().Result); Summoners sum = new Summoners(League); var player = sum.GetCurrentSummoner(); Summoner user = new Summoner(); user.SummonerID = player.SummonerId.ToString(); user.SummonerName = player.DisplayName; user.Region = locals.RegionRegion; user.Role = "Test"; http = new HttpClient(); var content = new StringContent(JsonConvert.SerializeObject(user), Encoding.UTF8, "application/json"); await http.PostAsync("https://lossummonerinfoapi.azurewebsites.net/api/AddSummoner", content); }
public Spell.Targeted GetTargettedSpell(Summoners summoner) { SpellSlot slot; switch (summoner) { case Summoners.Exhaust: slot = Player.Instance.GetSpellSlotFromName("summonerexhaust"); if (slot != SpellSlot.Unknown) { return(new Spell.Targeted(slot, 650)); } return(null); case Summoners.Smite: var spell = Player.Instance.Spellbook.Spells.FirstOrDefault(it => it.Name.Contains("summoner") && it.Name.Contains("smite")); if (spell != null) { return(new Spell.Targeted(spell.Slot, 500)); } return(null); case Summoners.Ignite: slot = Player.Instance.GetSpellSlotFromName("summonerdot"); if (slot != SpellSlot.Unknown) { return(new Spell.Targeted(slot, 600)); } return(null); default: return(null); } }
public async Task <IHttpActionResult> Register(SummonerModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { // Summoner MUST exist. var summoner = await FindSummonerAsync(model.Region, model.SummonerName); if (summoner == null) { return(Conflict("Summoner not found.")); } // Summoner MUST NOT be registered. if (await Summoners.IsSummonerRegistered(model.Region, model.SummonerName)) { return(Conflict("Summoner is already registered.")); } return(Ok(new { code = RegistrationCode.Generate((await Users.GetUserAsync()).Name, summoner.Id, model.Region) })); } catch (RiotHttpException e) { switch ((int)e.StatusCode) { case 500: case 503: return(Conflict("Error communicating with Riot (Service unavailable)")); } throw; } }
public static Spell.SpellBase GetActiveSpell(Summoners summoner) { SpellSlot slot; switch (summoner) { case Summoners.Heal: slot = Player.Instance.GetSpellSlotFromName("summonerheal"); if (slot != SpellSlot.Unknown) return new Spell.Active(slot); return null; case Summoners.Barrier: slot = Player.Instance.GetSpellSlotFromName("summonerbarrier"); if (slot != SpellSlot.Unknown) return new Spell.Active(slot); return null; case Summoners.Cleanse: slot = Player.Instance.GetSpellSlotFromName("summonercleanse"); if (slot != SpellSlot.Unknown) return new Spell.Active(slot); return null; case Summoners.Ghost: slot = Player.Instance.GetSpellSlotFromName("summonerghost"); if (slot != SpellSlot.Unknown) return new Spell.Active(slot); return null; default: return null; } }
public async Task <IActionResult> Index() { try { League = await LeagueClient.Connect(); Summoners sum = new Summoners(League); var prof = sum.GetCurrentSummoner(); if (prof.AccountId == 0) { return(View("NoApi")); } ViewBag.Name = prof.DisplayName; await GetUserInfoAsync(); return(View(prof)); } catch (Exception e) { return(View("NoApi")); } //CustomGamesManager cgm = new CustomGamesManager(); //cgm.CreateOneOnOneGame("los", 20289202); }
private static void OnGameLoad(EventArgs args) { FileName = "Oracle - " + DateTime.Now.ToString("yy.MM.dd") + " " + DateTime.Now.ToString("h.mm.ss") + ".txt"; ChampionName = Me.ChampionName; Game.OnGameUpdate += Game_OnGameUpdate; Game.PrintChat("<font color=\"#1FFF8F\">Oracle# r." + Revision + " -</font><font color=\"#FFFFCC\"> by Kurisu</font>"); if (!Directory.Exists(Config.LeagueSharpDirectory + @"\Logs\Oracle")) { Directory.CreateDirectory(Config.LeagueSharpDirectory + @"\Logs\Oracle"); Game.PrintChat( "<font color=\"#FFFFCC\"><b>Thank you for choosing Oracle! :^)</b></font>"); Game.PrintChat( "<font color=\"#FFFFCC\"><b>Log files are generated in </b></font>" + Config.LeagueSharpDirectory + @"\Logs\Oracle\"); } else { Game.PrintChat("<font color=\"#FFFFCC\">Feel free to donate to</font>: [email protected]"); } try { var wc = new WebClient { Proxy = null }; var gitrevision = wc.DownloadString( "https://raw.githubusercontent.com/xKurisu/KurisuSolutions/master/Oracle%20(Activator)/Oracle.txt"); if (Revision != gitrevision) { Game.PrintChat("<font color=\"#FFFFCC\"><b>Oracle is outdated, please Update!</b></font>"); } } catch (Exception e) { Console.WriteLine(e); Game.PrintChat("Something went wrong with update checker!"); } Origin = new Menu("Oracle", "oracle", true); Cleansers.Initialize(Origin); Defensives.Initialize(Origin); Summoners.Initialize(Origin); Offensives.Initialize(Origin); Consumables.Initialize(Origin); AutoSpells.Initialize(Origin); var config = new Menu("Oracle Config", "oracleconfig"); var dangerMenu = new Menu("Dangerous Config", "dangerconfig"); foreach (var i in ObjectManager.Get <Obj_AI_Hero>().Where(hero => hero.Team != Me.Team)) { var menu = new Menu(i.SkinName, i.SkinName + "cccmenu"); foreach ( var spell in TargetSpellDatabase.Spells.Where(spell => spell.ChampionName == i.ChampionName.ToLower())) { var danger = spell.Spellslot.ToString() == "R" || spell.CcType != CcType.No && (spell.Type == SpellType.Skillshot || spell.Type == SpellType.Targeted); menu.AddItem(new MenuItem(spell.Name + "ccc", spell.Name + " | " + spell.Spellslot)).SetValue(danger); } dangerMenu.AddSubMenu(menu); } config.AddItem( new MenuItem("usecombo", "Combo (Active)") .SetValue(new KeyBind(32, KeyBindType.Press))); config.AddSubMenu(dangerMenu); var cskills = new Menu("Cleanse Special", "cskills"); foreach (var debuff in GameBuff.CleanseBuffs) { cskills.AddItem(new MenuItem("cure" + debuff.BuffName, debuff.ChampionName + " | " + debuff.BuffName)) .SetValue(true); } config.AddSubMenu(cskills); var cleanseMenu = new Menu("Cleanse Debuffs", "cdebufs"); cleanseMenu.AddItem(new MenuItem("stun", "Stuns")).SetValue(true); cleanseMenu.AddItem(new MenuItem("charm", "Charms")).SetValue(true); cleanseMenu.AddItem(new MenuItem("taunt", "Taunts")).SetValue(true); cleanseMenu.AddItem(new MenuItem("fear", "Fears")).SetValue(true); cleanseMenu.AddItem(new MenuItem("snare", "Snares")).SetValue(true); cleanseMenu.AddItem(new MenuItem("silence", "Silences")).SetValue(true); cleanseMenu.AddItem(new MenuItem("suppression", "Supression")).SetValue(true); cleanseMenu.AddItem(new MenuItem("polymorph", "Polymorphs")).SetValue(true); cleanseMenu.AddItem(new MenuItem("blind", "Blinds")).SetValue(false); cleanseMenu.AddItem(new MenuItem("slow", "Slows")).SetValue(false); cleanseMenu.AddItem(new MenuItem("poison", "Poisons")).SetValue(false); config.AddSubMenu(cleanseMenu); var debugMenu = new Menu("Debugging", "debugmenu"); debugMenu.AddItem(new MenuItem("dbool", "Enable Console Debugging")).SetValue(false); config.AddSubMenu(debugMenu); Origin.AddSubMenu(config); Origin.AddToMainMenu(); // Events GameObject.OnCreate += GameObject_OnCreate; Obj_AI_Base.OnProcessSpellCast += Obj_AI_Base_OnProcessSpellCast; Logger(LogType.Info, "Oracle Revision: " + Revision); Logger(LogType.Info, "Local Player: " + ChampionName); Logger(LogType.Info, "Local Version: " + Game.Version); Logger(LogType.Info, "Local Game Map: " + Game.MapId); Logger(LogType.Info, "Local Summoners: " + Me.Spellbook.GetSpell(SpellSlot.Summoner1).Name + " - " + Me.Spellbook.GetSpell(SpellSlot.Summoner2).Name); foreach (var i in ObjectManager.Get <Obj_AI_Hero>()) { if (i.Team == Me.Team) { Logger(LogType.Info, "Ally added: " + i.ChampionName); } if (i.Team != Me.Team) { Logger(LogType.Info, "Enemy added: " + i.ChampionName); } } }
private void OnDrawingEndScene(EventArgs args) { try { if (Drawing.Direct3DDevice == null || Drawing.Direct3DDevice.IsDisposed) { return; } var totalSeconds = Menu.Item(Name + "DrawingTimeFormat").GetValue <StringList>().SelectedIndex == 1; foreach (var hero in _heroes.Where( hero => hero != null && hero.IsValid && hero.IsHPBarRendered && hero.Position.IsOnScreen())) { try { var lHero = hero; if (!hero.Position.IsValid() || !hero.HPBarPosition.IsValid()) { return; } var x = (int)hero.HPBarPosition.X - (hero.IsMe ? -10 : 8); var y = (int)hero.HPBarPosition.Y + (hero.IsEnemy ? 17 : (hero.IsMe ? 6 : 14)); _sprite.Begin(SpriteFlags.AlphaBlend); var summonerData = _summonerDatas[hero.NetworkId]; for (var i = 0; i < summonerData.Count; i++) { var spell = summonerData[i]; if (spell != null) { var teleportCd = 0f; if (spell.Name.Contains("Teleport", StringComparison.OrdinalIgnoreCase) && _teleports.ContainsKey(hero.NetworkId)) { _teleports.TryGetValue(hero.NetworkId, out teleportCd); } var t = teleportCd > 0.1f ? teleportCd - Game.Time : (spell.IsReady() ? 0 : spell.CooldownExpires - Game.Time); var sCd = teleportCd > 0.1f ? TeleportCd : spell.Cooldown; var percent = Math.Abs(sCd) > float.Epsilon ? t / sCd : 1f; var n = t > 0 ? (int)(19 * (1f - percent)) : 19; if (t > 0) { _text.DrawTextCentered( t.FormatTime(totalSeconds), x - (hero.IsMe ? -160 : 13), y + 7 + 13 * i, new ColorBGRA(255, 255, 255, 255)); } if (_summonerTextures.ContainsKey(Summoners.FixName(spell.Name))) { _sprite.Draw( _summonerTextures[Summoners.FixName(spell.Name)], new ColorBGRA(255, 255, 255, 255), new Rectangle(0, 12 * n, 12, 12), new Vector3(-x - (hero.IsMe ? 132 : 3), -y - 1 - 13 * i, 0)); } } } _sprite.Draw( hero.IsMe ? _hudSelfTexture : _hudTexture, new ColorBGRA(255, 255, 255, 255), null, new Vector3(-x, -y, 0)); _sprite.End(); var x2 = x + (hero.IsMe ? 24 : 19); var y2 = y + 21; _line.Begin(); var spellData = _spellDatas[hero.NetworkId]; foreach (var spell in spellData) { var lSpell = spell; if (spell != null) { var spell1 = spell; var manual = hero.IsAlly ? _manualAllySpells.FirstOrDefault( m => m.Slot.Equals(lSpell.Slot) && m.Champ.Equals(lHero.ChampionName, StringComparison.OrdinalIgnoreCase)) : _manualEnemySpells.FirstOrDefault( m => m.Slot.Equals(spell1.Slot) && m.Champ.Equals(lHero.ChampionName, StringComparison.OrdinalIgnoreCase)); var t = (manual != null ? manual.CooldownExpires : spell.CooldownExpires) - Game.Time; var spellCooldown = manual != null ? manual.Cooldown : spell.Cooldown; var percent = t > 0 && Math.Abs(spellCooldown) > float.Epsilon ? 1f - t / spellCooldown : 1f; if (t > 0 && t < 100) { _text.DrawTextCentered( t.FormatTime(totalSeconds), x2 + 27 / 2, y2 + 13, new ColorBGRA(255, 255, 255, 255)); } if (spell.Level > 0) { _line.Draw( new[] { new Vector2(x2, y2), new Vector2(x2 + percent * 23, y2) }, t > 0 ? new ColorBGRA(235, 137, 0, 255) : new ColorBGRA(0, 168, 25, 255)); } x2 = x2 + 27; } } _line.End(); } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } } } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } }
public static Spell.SpellBase GetSkillshotSpell(Summoners summoner) { if (summoner != Summoners.Flash) return null; var slot = Player.Instance.GetSpellSlotFromName("summonerflash"); if (slot != SpellSlot.Unknown) return new Spell.Skillshot(slot, 425, SkillShotType.Linear); return null; }
private void OnDrawingEndScene(EventArgs args) { try { if (Drawing.Direct3DDevice == null || Drawing.Direct3DDevice.IsDisposed) { return; } var index = 0; var hudWidth = (float)Math.Ceiling(HudWidth * _scale); var hudHeight = (float)Math.Ceiling(HudHeight * _scale); var spacing = (float) Math.Ceiling((10f + Menu.Item(Menu.Name + "DrawingSpacing").GetValue <Slider>().Value) * _scale) + hudHeight; var offsetTop = Menu.Item(Menu.Name + "DrawingOffsetTop").GetValue <Slider>().Value + hudHeight / 2f; var offsetRight = Drawing.Width - Menu.Item(Menu.Name + "DrawingOffsetRight").GetValue <Slider>().Value - (hudWidth + (float)Math.Ceiling(4 * _scale)) / 2f; foreach (var enemy in _enemyObjects) { if (enemy.Unit.IsDead && Game.Time > enemy.DeathEndTime) { enemy.DeathEndTime = Game.Time + enemy.Unit.DeathDuration + 1; } else if (!enemy.Unit.IsDead) { enemy.DeathEndTime = 0; } var offset = spacing * index; var spellData = _spellDatas[enemy.Unit.NetworkId]; for (var i = 0; spellData.Count > i; i++) { var spell = spellData[i]; if (spell != null && _summonerTextures.ContainsKey(Summoners.FixName(spell.Name))) { var teleportCd = 0f; if (spell.Name.Contains("Teleport", StringComparison.OrdinalIgnoreCase) && _teleports.ContainsKey(enemy.Unit.NetworkId)) { _teleports.TryGetValue(enemy.Unit.NetworkId, out teleportCd); } var time = (teleportCd > 0.1f ? teleportCd : spell.CooldownExpires) - Game.Time; _sprite.Begin(SpriteFlags.AlphaBlend); _sprite.DrawCentered( _summonerTextures[Summoners.FixName(spell.Name)], new Vector2( offsetRight + hudWidth * 0.355f, offsetTop - hudHeight * 0.275f + offset + (float)Math.Ceiling(26 * _scale) * i)); _sprite.End(); if (time > 0) { _line24.Begin(); _line24.Draw( new[] { new Vector2( offsetRight + hudWidth * 0.23f, offsetTop - hudHeight * 0.28f + offset + (float)Math.Ceiling(26 * _scale) * i), new Vector2( offsetRight + hudWidth * 0.23f + (float)Math.Ceiling(24 * _scale), offsetTop - hudHeight * 0.28f + offset + (float)Math.Ceiling(26 * _scale) * i) }, new Color(0, 0, 0, 175)); _line24.End(); _text14.DrawTextCentered( ((int)time).ToStringLookUp(), new Vector2( offsetRight + hudWidth * 0.359f, offsetTop - hudHeight * 0.28f + offset + (float)Math.Ceiling(26 * _scale) * i), new Color(255, 255, 255, 210), true); } } } _sprite.Begin(SpriteFlags.AlphaBlend); _sprite.DrawCentered( enemy.Texture, new Vector2(offsetRight - hudWidth * 0.1f, offsetTop - hudHeight * 0.13f + offset)); _sprite.DrawCentered( _hudTexture, new Vector2(offsetRight + (float)Math.Ceiling(3 * _scale), offsetTop + offset)); if (enemy.RSpell != null && enemy.RSpell.Level > 0 && enemy.RSpell.CooldownExpires - Game.Time < 0) { _sprite.DrawCentered( _ultimateTexture, new Vector2(offsetRight - hudWidth * 0.34f, offsetTop - hudHeight * 0.375f + offset)); } _sprite.End(); if (enemy.RSpell != null && enemy.RSpell.Level > 0 && enemy.RSpell.CooldownExpires - Game.Time > 0 && enemy.RSpell.CooldownExpires - Game.Time < 100) { _text14.DrawTextCentered( ((int)(enemy.RSpell.CooldownExpires - Game.Time)).ToStringLookUp(), new Vector2(offsetRight - hudWidth * 0.338f, offsetTop - hudHeight * 0.365f + offset), Color.White); } _line17.Begin(); _line17.Draw( new[] { new Vector2(offsetRight - hudWidth * 0.035f, offsetTop + hudHeight * 0.035f + offset), new Vector2( offsetRight - hudWidth * 0.035f + (float)Math.Ceiling(18 * _scale), offsetTop + hudHeight * 0.035f + offset) }, new Color(0, 0, 0, 215)); _line17.End(); _text14.DrawTextCentered( enemy.Unit.Level.ToStringLookUp(), new Vector2(offsetRight + hudWidth * 0.075f, offsetTop + hudHeight * 0.045f + offset), !enemy.Unit.IsVisible || enemy.Unit.IsDead ? new Color(255, 255, 255, 215) : new Color(255, 255, 255, 240)); _text14.DrawTextLeft( enemy.Unit.Name, new Vector2(offsetRight + hudWidth * 0.52f, offsetTop - hudHeight * 0.57f + offset), !enemy.Unit.IsVisible || enemy.Unit.IsDead ? new Color(255, 255, 255, 215) : new Color(255, 255, 255, 240)); var healthStart = new Vector2( offsetRight - hudWidth * 0.358f, offsetTop + hudHeight * 0.268f + offset); var healthWidth = (float)Math.Ceiling(HealthWidth * _scale) / enemy.Unit.MaxHealth * enemy.Unit.Health; _line7.Begin(); _line7.Draw( new[] { healthStart, new Vector2(healthStart.X + healthWidth, healthStart.Y) }, Color.Green); var resStart = new Vector2(healthStart.X, healthStart.Y + (float)Math.Ceiling(9 * _scale)); var resWidth = (float)Math.Ceiling(HealthWidth * _scale); if (!Enumerable.Contains(_champsNoEnergy, enemy.Unit.ChampionName) && enemy.Unit.MaxMana > 0) { resWidth = (float)Math.Ceiling(HealthWidth * _scale) / enemy.Unit.MaxMana * enemy.Unit.Mana; } _line7.Draw( new[] { resStart, new Vector2(resStart.X + resWidth, resStart.Y) }, Enumerable.Contains(_champsEnergy, enemy.Unit.ChampionName) ? Color.Yellow : (Enumerable.Contains(_champsRage, enemy.Unit.ChampionName) ? Color.DarkRed : (Enumerable.Contains(_champsNoEnergy, enemy.Unit.ChampionName) || enemy.Unit.MaxMana <= 0 ? new Color(255, 255, 255, 75) : Color.Blue))); _line7.End(); if (enemy.Unit.IsDead) { _line17.Begin(); _line17.Draw( new[] { new Vector2(offsetRight - hudWidth * 0.36f, offsetTop + hudHeight * 0.338f + offset), new Vector2( offsetRight - hudWidth * 0.36f + (float)Math.Ceiling(HealthWidth * _scale), offsetTop + hudHeight * 0.335f + offset) }, Color.Black); _line17.End(); _text18.DrawTextCentered( ((int)(enemy.DeathEndTime - Game.Time)).ToStringLookUp(), new Vector2(offsetRight + hudWidth * 0.07f, offsetTop + hudHeight * 0.335f + offset), Color.DarkRed); } if (!enemy.Unit.IsVisible || enemy.Unit.IsDead) { _sprite.Begin(SpriteFlags.AlphaBlend); _sprite.DrawCentered( _invisibleTexture, new Vector2(offsetRight - hudWidth * 0.09f, offsetTop - hudHeight * 0.12f + offset)); _sprite.End(); } if (!enemy.Unit.IsDead && !enemy.LastPosition.Equals(Vector3.Zero) && enemy.LastPosition.Distance(enemy.Unit.Position) > 500) { enemy.LastVisible = Game.Time; } enemy.LastPosition = enemy.Unit.Position; if (enemy.Unit.IsVisible || enemy.Unit.IsDead) { enemy.LastVisible = Game.Time; } if (!enemy.Unit.IsVisible && !enemy.Unit.IsDead && Game.Time - enemy.LastVisible > 3) { _text18.DrawTextCentered( ((int)(Game.Time - enemy.LastVisible)).ToStringLookUp(), new Vector2(offsetRight - hudWidth * 0.07f, offsetTop - hudHeight * 0.15f + offset), new Color(255, 255, 255, 215)); } if (enemy.TeleportStatus == Packet.S2C.Teleport.Status.Start || (enemy.TeleportStatus == Packet.S2C.Teleport.Status.Finish || enemy.TeleportStatus == Packet.S2C.Teleport.Status.Abort) && Game.Time <= enemy.LastTeleportStatusTime + 5f) { _sprite.Begin(SpriteFlags.AlphaBlend); _sprite.DrawCentered( enemy.TeleportStatus == Packet.S2C.Teleport.Status.Start ? _teleportStartTexture : (enemy.TeleportStatus == Packet.S2C.Teleport.Status.Finish ? _teleportFinishTexture : _teleportAbortTexture), new Vector2(offsetRight + (float)Math.Ceiling(3 * _scale), offsetTop + offset)); _sprite.End(); } index++; } } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } }
public static Spell.SpellBase GetTargettedSpell(Summoners summoner) { SpellSlot slot; switch (summoner) { case Summoners.Exhaust: slot = Player.Instance.GetSpellSlotFromName("summonerexhaust"); if (slot != SpellSlot.Unknown) return new Spell.Targeted(slot, 650); return null; case Summoners.Smite: var spell = Player.Instance.Spellbook.Spells.FirstOrDefault(it => it.Name.Contains("summoner") && it.Name.Contains("smite")); if (spell != null) return new Spell.Targeted(spell.Slot, 500); return null; case Summoners.Ignite: slot = Player.Instance.GetSpellSlotFromName("summonerdot"); if (slot != SpellSlot.Unknown) return new Spell.Targeted(slot, 600); return null; default: return null; } }
public async Task <IHttpActionResult> Validate(SummonerModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { // Summoner MUST exist. var riotSummoner = await Riot.FindSummonerAsync(model.Region, model.SummonerName); var user = await Users.GetUserAsync(); if (riotSummoner == null) { return(Conflict("Summoner not found.")); } // Summoner MUST NOT be registered. if (await Summoners.IsSummonerRegistered(model.Region, model.SummonerName)) { return(Conflict("Summoner is already registered.")); } var runePages = await Riot.GetRunePagesAsync(model.Region, riotSummoner.Id); var code = RegistrationCode.Generate(user.Name, riotSummoner.Id, model.Region); if (!runePages.Any(page => string.Equals(page.Name, code, StringComparison.InvariantCultureIgnoreCase))) { return(StatusCode(HttpStatusCode.ExpectationFailed)); } // Create the data entity and associate it with the current user var currentSummoner = await Summoners.AddSummonerAsync(user, riotSummoner.Id, model.Region, riotSummoner.Name); // If the user doesn't have an active summoner, assign the new summoner as active. if (await Summoners.GetActiveSummonerAsync(user) == null) { await Summoners.SetActiveSummonerAsync(currentSummoner); } // Queue up the league update. var jobId = BackgroundJob.Enqueue <LeagueUpdateJob>(job => job.Execute(currentSummoner.Id)); // Queue up flair update. BackgroundJob.ContinueWith <FlairUpdateJob>(jobId, job => job.Execute(user.Id)); return(Ok()); } catch (RiotHttpException e) { switch ((int)e.StatusCode) { case 500: case 503: return(Conflict("Error communicating with Riot (Service unavailable)")); } throw; } }
private static void OnGameLoad(EventArgs args) { Game.OnGameUpdate += Game_OnGameUpdate; ChampionName = Me.ChampionName; Origin = new Menu("花边-神谕", "oracle", true); Cleansers.Initialize(Origin); Defensives.Initialize(Origin); Summoners.Initialize(Origin); Offensives.Initialize(Origin); Consumables.Initialize(Origin); AutoSpells.Initialize(Origin); var Config = new Menu("额外 设置", "oracleconfig"); var DangerMenu = new Menu("危险 配置", "dangerconfig"); foreach (var i in ObjectManager.Get <Obj_AI_Hero>().Where(hero => hero.Team != Me.Team)) { var menu = new Menu(i.SkinName, i.SkinName + "cccmenu"); foreach ( var spell in TargetSpellDatabase.Spells.Where(spell => spell.ChampionName == i.ChampionName.ToLower())) { var danger = spell.Spellslot.ToString() == "R" || spell.CcType != CcType.No && (spell.Type == SpellType.Skillshot || spell.Type == SpellType.Targeted); menu.AddItem(new MenuItem(spell.Name + "ccc", spell.Name + " | " + spell.Spellslot)).SetValue(danger); } DangerMenu.AddSubMenu(menu); } Config.AddSubMenu(DangerMenu); var CleanseMenu = new Menu("净化 状态", "cdebufs"); CleanseMenu.AddItem(new MenuItem("stun", "眩晕")).SetValue(true); CleanseMenu.AddItem(new MenuItem("charm", "魅惑")).SetValue(true); CleanseMenu.AddItem(new MenuItem("taunt", "嘲讽")).SetValue(true); CleanseMenu.AddItem(new MenuItem("fear", "恐惧")).SetValue(true); CleanseMenu.AddItem(new MenuItem("snare", "陷阱")).SetValue(true); CleanseMenu.AddItem(new MenuItem("silence", "沉默")).SetValue(true); CleanseMenu.AddItem(new MenuItem("suppression", "虚弱")).SetValue(true); CleanseMenu.AddItem(new MenuItem("polymorph", "变形")).SetValue(true); CleanseMenu.AddItem(new MenuItem("blind", "致盲")).SetValue(false); CleanseMenu.AddItem(new MenuItem("slow", "减速")).SetValue(false); CleanseMenu.AddItem(new MenuItem("poison", "制毒")).SetValue(false); Config.AddSubMenu(CleanseMenu); var DebugMenu = new Menu("调试选项", "debugmenu"); DebugMenu.AddItem(new MenuItem("dbool", "启用活化剂调试")).SetValue(false); Config.AddSubMenu(DebugMenu); Origin.AddSubMenu(Config); Origin.AddItem( new MenuItem("ComboKey", "连招 (启用)") .SetValue(new KeyBind(32, KeyBindType.Press))); Origin.AddToMainMenu(); // Events GameObject.OnCreate += GameObject_OnCreate; Obj_AI_Base.OnProcessSpellCast += Obj_AI_Base_OnProcessSpellCast; Game.PrintChat("<font color=\"#1FFF8F\">花边-神谕 加载成功!</font>"); }