Пример #1
0
        public void AddSpell(CommonSpell spell)
        {
            char slot = char.MinValue;

            switch (spell.Slot)
            {
            case (SpellSlot.Q):
                slot = 'q';
                break;

            case (SpellSlot.W):
                slot = 'w';
                break;

            case (SpellSlot.E):
                slot = 'e';
                break;

            case (SpellSlot.R):
                slot = 'r';
                break;
            }

            spell.UseOnComboMenu     = KoreanUtils.GetParam(champion.MainMenu, string.Format("use{0}tocombo", slot));
            spell.UseOnHarasMenu     = KoreanUtils.GetParam(champion.MainMenu, string.Format("use{0}toharas", slot));
            spell.UseOnLaneClearMenu = KoreanUtils.GetParam(champion.MainMenu, string.Format("use{0}tolaneclear", slot));
            spellList.Add(spell);
        }
Пример #2
0
        private bool CanUseAA()
        {
            bool canHit = true;

            if (KoreanUtils.GetParam(champion.MainMenu, "supportmode") != null)
            {
                if (KoreanUtils.GetParamBool(champion.MainMenu, "supportmode") && champion.Player.CountAlliesInRange(1500f) > 1)
                {
                    canHit = false;
                }
            }
            return(canHit);
        }
Пример #3
0
        private void DrawDamage(EventArgs args)
        {
            if (!Enabled())
            {
                return;
            }

            foreach (
                Obj_AI_Hero champ in
                ObjectManager.Get <Obj_AI_Hero>()
                .Where(h => h.IsVisible && h.IsEnemy && h.IsValid && h.IsHPBarRendered))
            {
                float damage = amountOfDamage(champ);

                if (damage > 0)
                {
                    Vector2 pos = champ.HPBarPosition;

                    if (KoreanUtils.GetParamBool(champion.MainMenu, "killableindicator") &&
                        (damage > champ.Health + 50f))
                    {
                        Render.Circle.DrawCircle(champ.Position, 100, Color.Red);
                        Render.Circle.DrawCircle(champ.Position, 75, Color.Red);
                        Render.Circle.DrawCircle(champ.Position, 50, Color.Red);
                        text.X = (int)pos.X + 40;
                        text.Y = (int)pos.Y - 20;
                        text.OnEndScene();
                    }

                    if (KoreanUtils.GetParamBool(champion.MainMenu, "damageindicator"))
                    {
                        float healthAfterDamage = Math.Max(0, champ.Health - damage) / champ.MaxHealth;
                        float posY           = pos.Y + 20f;
                        float posDamageX     = pos.X + 12f + Width * healthAfterDamage;
                        float posCurrHealthX = pos.X + 12f + Width * champ.Health / champ.MaxHealth;

                        Drawing.DrawLine(posDamageX, posY, posDamageX, posY + Height, 2, barColor);

                        float diff = (posCurrHealthX - posDamageX) + 3;

                        float pos1 = pos.X + 9 + (107 * healthAfterDamage);

                        for (int i = 0; i < diff; i++)
                        {
                            Drawing.DrawLine(pos1 + i, posY, pos1 + i, posY + Height, 1, comboDamageColor);
                        }
                    }
                }
            }
        }
Пример #4
0
        private bool UltimateUp()
        {
            bool b = ((ObjectManager.Player.GetSpell(SpellSlot.R).IsReady()) &&
                      (champion.MainMenu.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo));

            b = b && (KoreanUtils.GetParamBool(champion.MainMenu, "forceultusingmouse"));

            if ((b) && (champion is Annie) && (((Annie)champion).Tibbers.Tibbers != null))
            {
                b = false;
            }

            return(b);
        }
Пример #5
0
 private bool Enabled()
 {
     return((Active) && (amountOfDamage != null) &&
            ((KoreanUtils.GetParamBool(champion.MainMenu, "damageindicator")) ||
             KoreanUtils.GetParamBool(champion.MainMenu, "killableindicator")));
 }
Пример #6
0
        private void DrawDamage(EventArgs args)
        {
            if (!Enabled())
            {
                return;
            }

            Color color    = Color.Gray;
            Color barColor = Color.White;

            if (KoreanUtils.GetParamStringList(champion.MainMenu, "damageindicatorcolor") == 1)
            {
                color    = Color.Gold;
                barColor = Color.Olive;
            }
            if (KoreanUtils.GetParamStringList(champion.MainMenu, "damageindicatorcolor") == 2)
            {
                color    = Color.FromArgb(100, Color.Black);
                barColor = Color.Lime;
            }

            foreach (
                AIHeroClient champ in
                ObjectManager.Get <AIHeroClient>()
                .Where(h => h.IsVisible && h.IsEnemy && h.IsValid && h.IsHPBarRendered))
            {
                float damage = amountOfDamage(champ);

                if (damage > 0)
                {
                    Vector2 pos = champ.HPBarPosition;

                    if (KoreanUtils.GetParamBool(champion.MainMenu, "killableindicator") &&
                        (damage > champ.Health + 50f))
                    {
                        Render.Circle.DrawCircle(champ.Position, 100, Color.Red);
                        Render.Circle.DrawCircle(champ.Position, 75, Color.Red);
                        Render.Circle.DrawCircle(champ.Position, 50, Color.Red);
                        text.X = (int)pos.X + 40;
                        text.Y = (int)pos.Y - 20;
                        text.OnEndScene();
                    }

                    if (KoreanUtils.GetParamBool(champion.MainMenu, "damageindicator"))
                    {
                        float healthAfterDamage = Math.Max(0, champ.Health - damage) / champ.MaxHealth;
                        float posY           = pos.Y + 20f;
                        float posDamageX     = pos.X + 12f + Width * healthAfterDamage;
                        float posCurrHealthX = pos.X + 12f + Width * champ.Health / champ.MaxHealth;

                        float diff = (posCurrHealthX - posDamageX) + 3;

                        float pos1 = pos.X + 8 + (107 * healthAfterDamage);

                        for (int i = 0; i < diff - 3; i++)
                        {
                            Drawing.DrawLine(pos1 + i, posY, pos1 + i, posY + Height, 1, color);
                        }

                        Drawing.DrawLine(posDamageX, posY, posDamageX, posY + Height, 2, barColor);
                    }
                }
            }
        }