Esempio n. 1
0
        public static void OnUpdate()
        {
            var target = GameObjects.EnemyHeroes.FirstOrDefault(x => x.IsValidTarget(SpellConfig.Q.Range));

            if (target == null || Global.Orbwalker.IsWindingUp || Global.Player.IsDead)
            {
                return;
            }

            if (SpellConfig.Q.Ready &&
                target.Health < Global.Player.GetSpellDamage(target, SpellSlot.Q) &&
                MenuConfig.Killsteal["Q"].Enabled)
            {
                SpellConfig.CastQ(target);
            }
            else if (SpellConfig.E.Ready && target.Health < Global.Player.GetSpellDamage(target, SpellSlot.E) &&
                     MenuConfig.Killsteal["E"].Enabled)
            {
                var nearest = SoldierManager.GetSoldierNearestTo(target.ServerPosition);
                if (nearest != Vector3.Zero)
                {
                    SpellConfig.E.Cast(nearest);
                }
            }
        }
Esempio n. 2
0
        public void Init()
        {
            var menuConfig = new MenuConfig();

            var spellConfig = new SpellConfig();

            var dmg = new Dmg(spellConfig);

            var combo       = new Combo(spellConfig, menuConfig, dmg);
            var harass      = new Harass(spellConfig, menuConfig);
            var laneclear   = new LaneClear(spellConfig, menuConfig);
            var jungleclear = new JungleClear(menuConfig, spellConfig);

            var manager     = new Manager(combo, harass, laneclear, jungleclear);
            var killsteal   = new Killsteal(menuConfig, spellConfig);
            var drawManager = new DrawManager(menuConfig, dmg, spellConfig);
            var gapcloser   = new AntiGapcloser(spellConfig);


            Game.OnUpdate += manager.OnUpdate;
            Game.OnUpdate += killsteal.OnUpdate;
            Global.Orbwalker.PostAttack += manager.OnPostAttack;

            Render.OnRender  += drawManager.OnRender;
            Render.OnPresent += drawManager.OnPresent;

            Gapcloser.OnGapcloser += gapcloser.OnGapcloser;
        }
Esempio n. 3
0
        public static void OnUpdate()
        {
            var mob = GameObjects.Jungle.FirstOrDefault(x => x.IsValidTarget(SpellConfig.E.Range) && x.IsEnemy);

            if (mob == null)
            {
                return;
            }

            var distance = mob.Distance(Global.Player);

            if (SpellConfig.W.Ready && distance < SpellConfig.W.Range)
            {
                if (Extensions.Ferocity() == 4 && (Global.Player.HealthPercent() >= 35 || !MenuConfig.JungleClear["W"].Enabled))
                {
                    return;
                }

                SpellConfig.CastW(mob);
            }

            if (SpellConfig.E.Ready && Extensions.Ferocity() <= 3)
            {
                SpellConfig.CastE(mob);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Load the xml file!
        /// </summary>
        private void LoadXml()
        {
            // if the file doesn't exist create a blank one
            if (!File.Exists(filePathToConfig))
            {
                XmlWriterSettings settings = new XmlWriterSettings();
                settings.Indent = true;
                settings.NewLineOnAttributes = false;

                XmlWriter writer = XmlWriter.Create(filePathToConfig, settings);
                writer.Flush();
                writer.Close();
            }
            else
            {
                //Loads the xml! And its data
                if (loadAppConfig.LoadConfig <SpellConfig>(filePathToConfig))
                {
                    this.config = (SpellConfig)loadAppConfig.Settings;

                    if (this.config.Spell != null)
                    {
                        foreach (var spell in this.config.Spell)
                        {
                            //Add each of the items, to be created list.
                            spellsToCreate.Add(spell);
                        }
                    }
                }
            }
        }
Esempio n. 5
0
        public static void CheckSpellEffect(Spell spell, bool isLeft, LiveMonster target, Point mouse)
        {
            MemBaseSpell spl = new MemBaseSpell(spell);

            spl.CheckSpellEffect(isLeft, target, mouse);
            if (spell.Addon != 0 && (spl.SpellConfig.Cure > 0 || spl.SpellConfig.Damage > 0))
            {
                BattleManager.Instance.FlowWordQueue.Add(new FlowWord(string.Format("{0}倍施法!", 1 + spell.Addon), mouse, 0, "Gold", 26, 0, 0, 2, 15), false);
            }

            SpellConfig spellConfig = spell.SpellConfig;

            if (spl.HintWord != "")
            {
                BattleManager.Instance.FlowWordQueue.Add(new FlowWord(spl.HintWord, mouse, 0, "Cyan", 26, 0, 0, 0, 15), false);
            }
            if (!string.IsNullOrEmpty(spellConfig.UnitEffect))
            {
                if (BattleTargetManager.PlayEffectOnMonster(spellConfig.Target))
                {
                    BattleManager.Instance.EffectQueue.Add(new ActiveEffect(EffectBook.GetEffect(spellConfig.UnitEffect), target, false));
                }
                if (BattleTargetManager.PlayEffectOnMouse(spellConfig.Target))
                {
                    BattleManager.Instance.EffectQueue.Add(new ActiveEffect(EffectBook.GetEffect(spellConfig.UnitEffect), mouse, false));
                }
            }
        }
Esempio n. 6
0
 private void UpdateButton(Button btn, SpellConfig newSpell, int index = -1)
 {
     if (newSpell != null)
     {
         btn.image.sprite = newSpell.Icon;
         var ss = btn.spriteState;
         ss.highlightedSprite = newSpell.SelectedIcon;
         ss.selectedSprite    = newSpell.SelectedIcon;
         ss.pressedSprite     = newSpell.SelectedIcon;
         btn.spriteState      = ss;
         if (index != -1)
         {
             btn.onClick.AddListener(delegate { SetSelectedSpell(index); });
         }
         btn.gameObject.GetComponent <SpellContainer>().Spell = newSpell;
     }
     else
     {
         btn.image.sprite = null;
         var ss = btn.spriteState;
         ss.highlightedSprite = EmptySelectionSquare;
         ss.selectedSprite    = EmptySelectionSquare;
         ss.pressedSprite     = EmptySelectionSquare;
         btn.spriteState      = ss;
         btn.gameObject.GetComponent <SpellContainer>().Spell = null;
     }
 }
Esempio n. 7
0
        public static void OnUpdate()
        {
            var target = Global.TargetSelector.GetTarget(SpellConfig.Q.Range + 400);

            if (target == null)
            {
                return;
            }

            var dist = target.Distance(Global.Player) - Global.Player.BoundingRadius - target.BoundingRadius;

            if (SpellConfig.Q.Ready && MenuConfig.Harass["Q"].Enabled && Global.Player.ManaPercent() > MenuConfig.Harass["Q"].Value && dist < SpellConfig.Q.Range + 200)
            {
                SpellConfig.CastQ(target);
            }

            if (SpellConfig.W.Ready && MenuConfig.Harass["W"].Enabled && Global.Player.ManaPercent() > MenuConfig.Harass["W"].Value)
            {
                SpellConfig.W.Cast(Global.Player.ServerPosition.Extend(target.ServerPosition, SpellConfig.W.Range));
            }

            if (SpellConfig.E.Ready && MenuConfig.Harass["E"].Enabled && Global.Player.ManaPercent() > MenuConfig.Harass["E"].Value)
            {
                foreach (var soldier in SoldierManager.Soldiers)
                {
                    var rect  = new Geometry.Rectangle(Global.Player.ServerPosition.To2D(), soldier.ServerPosition.To2D(), SpellConfig.E.Width);
                    var count = GameObjects.EnemyHeroes.Count(x => rect.IsInside(x.ServerPosition.To2D()));

                    if (count >= 1)
                    {
                        SpellConfig.E.Cast(soldier.ServerPosition);
                    }
                }
            }
        }
Esempio n. 8
0
        public static void OnPlayAnimation(Obj_AI_Base sender, Obj_AI_BasePlayAnimationEventArgs args)
        {
            if (sender == null || !sender.IsMe)
            {
                return;
            }

            switch (args.Animation)
            {
            case "Spell3":
                if (Extension.CurrentMode == Mode.Tornado)
                {
                    SpellConfig.SetSkill(Mode.DashingTornado);
                }
                else
                {
                    SpellConfig.SetSkill(Mode.Dashing);

                    DelayAction.Queue(1000,
                                      () =>
                    {
                        SpellConfig.SetSkill(Mode.Normal);
                    },
                                      new CancellationToken(false));
                }
                break;
            }
        }
Esempio n. 9
0
        public static void BuffManagerOnOnAddBuff(Obj_AI_Base sender, Buff buff)
        {
            if (sender == null)
            {
                return;
            }

            if (sender.IsEnemy && (buff.Type == BuffType.Knockup || buff.Type == BuffType.Knockback))
            {
                KnockUpHelper.Sender        = sender;
                KnockUpHelper.KnockedUpTick = Game.TickCount;
                KnockUpHelper.BuffStart     = (int)buff.StartTime;
                KnockUpHelper.BuffEnd       = (int)buff.EndTime;
            }

            if (sender.IsMe)
            {
                switch (buff.Name)
                {
                case "YasuoQ3W":
                    SpellConfig.SetSkill(Global.Player.IsDashing() ? Mode.DashingTornado : Mode.Tornado);
                    break;
                }
            }
        }
Esempio n. 10
0
        public static Image GetSpellImage(int id, int width, int height)
        {
            SpellConfig spellConfig = ConfigData.GetSpellConfig(id);
            string      fname       = string.Format("Spell/{0}{1}x{2}", spellConfig.Icon, width, height);

            if (!ImageManager.HasImage(fname))
            {
                Image image = PicLoader.Read("Spell", string.Format("{0}.JPG", spellConfig.Icon));
                if (image == null)
                {
                    NLog.Error(string.Format("GetWeaponImage {0} {1} not found", id, fname));
                    return(null);
                }
#if DEBUG
                if (spellConfig.Remark.Contains("未完成"))
                {
                    Graphics g    = Graphics.FromImage(image);
                    var      icon = PicLoader.Read("System", "NotFinish.PNG");
                    g.DrawImage(icon, 0, 0, 180, 180);
                    g.Save();
                }
#endif
                if (image.Width != width || image.Height != height)
                {
                    image = image.GetThumbnailImage(width, height, null, new IntPtr(0));
                }
                ImageManager.AddImage(fname, image);
            }
            return(ImageManager.GetImage(fname));
        }
Esempio n. 11
0
File: Jinx.cs Progetto: eox/Aimtec-1
        public Jinx()
        {
            var spellConfig = new SpellConfig();

            spellConfig.Load();

            var menuConfig = new MenuConfig();

            menuConfig.Attach();

            var combo       = new Combo(spellConfig, menuConfig);
            var harass      = new Harass(spellConfig, menuConfig);
            var laneclear   = new LaneClear(menuConfig, spellConfig);
            var jungleclear = new JungleClear(menuConfig, spellConfig);

            var misc      = new Misc(spellConfig, menuConfig);
            var gapcloser = new AntiGapcloser(spellConfig);

            var manager = new Manager(combo, harass, laneclear, jungleclear, spellConfig);

            var drawManager = new DrawManager(menuConfig, new Dmg(), spellConfig);

            Game.OnUpdate += manager.OnUpdate;
            Game.OnUpdate += misc.OnUpdate;

            Render.OnPresent += drawManager.OnPresent;
            Render.OnRender  += drawManager.OnRender;

            Gapcloser.OnGapcloser += gapcloser.OnGapcloser;
        }
Esempio n. 12
0
 public Manager(Combo combo, Harass harass, LaneClear laneClear, JungleClear jungleClear, SpellConfig spellConfig)
 {
     this.combo       = combo;
     this.harass      = harass;
     this.laneClear   = laneClear;
     this.jungleClear = jungleClear;
     this.spellConfig = spellConfig;
 }
Esempio n. 13
0
 public VirastarConfig()
 {
     CharConfiguration          = new CharConfig();
     WordConfiguration          = new WordConfig();
     WritingRuleConfiguration   = new WritingRule();
     IgnoreProcessConfiguration = new IgnoreProcessConfig();
     SpellConfiguration         = new SpellConfig();
 }
Esempio n. 14
0
    private void SwapButtons(int idx1, int idx2, SpellConfig newSpell, SpellConfig spellToMove)
    {
        SpellBar.ChangeSpell(idx1, newSpell);
        UpdateButton(BoundButtons[idx1], newSpell);

        SpellBar.ChangeSpell(idx2, spellToMove);
        UpdateButton(BoundButtons[idx2], spellToMove);
    }
Esempio n. 15
0
        public static void OnRender()
        {
            if (Global.Player.IsDead)
            {
                return;
            }

            if (Global.Orbwalker.Mode != OrbwalkingMode.None && MenuConfig.Drawings["Debug"].Enabled)
            {
                var circle = new Geometry.Circle(Global.Player.GetDashInfo().EndPos, 200);
                Render.Circle(circle.Center.To3D(), circle.Radius, 100, Color.Yellow);
                Render.Circle(circle.Center.To3D(), circle.Radius / 2, 100, Color.Crimson);
            }

            if (SpellConfig.R.Ready && MenuConfig.Drawings["R"].Enabled)
            {
                Render.Circle(Global.Player.Position, SpellConfig.R.Range, (uint)MenuConfig.Drawings["Segments"].Value, Color.Cyan);
            }

            if (MenuConfig.Drawings["Range"].Enabled && MenuConfig.Combo["Dash"].Value == 0 && Global.Orbwalker.Mode != OrbwalkingMode.None)
            {
                Render.Circle(Game.CursorPos, MenuConfig.Combo["Range"].Value, (uint)MenuConfig.Drawings["Segments"].Value, Color.Yellow);
            }

            if (MenuConfig.Drawings["Debug"].Enabled)
            {
                if (SpellConfig.Q.Ready)
                {
                    var t = GameObjects.EnemyHeroes.FirstOrDefault(x => x.IsValidTarget(2000));
                    if (t != null)
                    {
                        SpellConfig.Q3Rect(t)?.Draw(Color.Crimson);
                    }
                }

                Render.WorldToScreen(Global.Player.Position, out var temp);
                Render.Text("Q Mode: " + Extension.CurrentMode + " | Range: " + SpellConfig.Q.Range, new Vector2(temp.X - 55, temp.Y + 40), RenderTextFlags.Center, Color.Cyan);
            }

            if (SpellConfig.E.Ready && MenuConfig.Drawings["Path"].Enabled)
            {
                if (MinionHelper.ExtendedMinion.IsZero || MinionHelper.ExtendedTarget.IsZero)
                {
                    return;
                }

                Render.WorldToScreen(MinionHelper.ExtendedTarget, out var targetV2);
                Render.WorldToScreen(MinionHelper.ExtendedMinion, out var minionV2);
                Render.WorldToScreen(Global.Player.ServerPosition, out var playerV2);

                Render.Line(playerV2, minionV2, Color.DeepSkyBlue);
                Render.Line(minionV2, targetV2, Color.DeepPink);

                Render.Circle(MinionHelper.ExtendedMinion, 25, 300, Color.Crimson);
                Render.Circle(MinionHelper.ExtendedMinion, 50, 300, Color.Yellow);
            }
        }
Esempio n. 16
0
    public void RemoveSpell(SpellConfig spell)
    {
        var category = SpellCategories.First(c => c.Element == spell.Element);

        if (category.Spells.Contains(spell))
        {
            category.Spells.Remove(spell);
        }
    }
Esempio n. 17
0
    public void AddSpell(SpellConfig spell)
    {
        var category = SpellCategories.First(c => c.Element == spell.Element);

        if (!category.Spells.Contains(spell))
        {
            category.Spells.Add(spell);
        }
    }
Esempio n. 18
0
        public static void Init()
        {
            MenuConfig.Attach();
            SpellConfig.Load();

            Game.OnUpdate += Manager.OnUpdate;
            Global.Orbwalker.PostAttack += Manager.PostAttack;
            Render.OnRender             += DrawManager.OnRender;
            Render.OnPresent            += DrawManager.RenderDamage;
        }
Esempio n. 19
0
        private void CheckCursor()
        {
            string cursorname = "default";

            magicRegion.Active = false;
            if (leftSelectCard != null)
            {
                if (leftSelectCard.CardType == CardTypes.Monster)
                {
                    if (BattleLocationManager.IsPlaceCanSummon(leftSelectCard.CardId, mouseX, mouseY, true))
                    {
                        cursorname         = "summon";
                        magicRegion.Active = true;
                    }
                    else
                    {
                        var placeMon = BattleLocationManager.GetPlaceMonster(mouseX, mouseY);
                        if (placeMon != null && placeMon.IsLeft && !placeMon.Avatar.MonsterConfig.IsBuilding)
                        {
                            if (MonsterBook.HasTag(leftSelectCard.CardId, "sidekicker") ||
                                MonsterBook.HasTag(placeMon.CardId, "sidekickee") ||
                                BattleManager.Instance.PlayerManager.LeftPlayer.SpikeManager.HasSpike("sidekickall"))
                            {
                                cursorname = "sidekick";
                            }
                        }
                    }
                }
                else if (leftSelectCard.CardType == CardTypes.Weapon)
                {
                    LiveMonster lm = BattleLocationManager.GetPlaceMonster(mouseX, mouseY);
                    if (lm != null && lm.CanAddWeapon() && lm.IsLeft)
                    {
                        cursorname = "equip";
                    }
                }
                else if (leftSelectCard.CardType == CardTypes.Spell)
                {
                    if (mouseX > 0)
                    {
                        SpellConfig spellConfig = ConfigData.GetSpellConfig(leftSelectCard.CardId);
                        if (BattleLocationManager.IsPlaceCanCast(mouseX, mouseY, spellConfig.Target))
                        {
                            magicRegion.Active = true;
                            cursorname         = "cast";
                        }
                        else
                        {
                            cursorname = "nocast";
                        }
                    }
                }
            }
            myCursor.ChangeCursor(cursorname);
        }
Esempio n. 20
0
        private static void LoadMenu()
        {
            Config = MainMenu.AddMenu("Thresh", "thresh_menu");

            SpellConfig = Config.AddSubMenu("Spell Settings", "SpellSettings");
            SpellConfig.Add("autoQ", new CheckBox("Auto Q Dash Enemy", true));
            SpellConfig.Add("dontQ2", new CheckBox("Don't Auto Q2", true));
            SpellConfig.Add("dQ2if", new Slider("Don't Q2 if Enemies > allies", 1, 0, 5));
            SpellConfig.Add("farmE", new CheckBox("Farm with E", true));
            SpellConfig.AddLabel("Q BlackList :");
            foreach (var hero in HeroManager.Enemies)
            {
                SpellConfig.Add("QList" + hero.NetworkId, new CheckBox("BlackList: " + hero.ChampionName, false));
            }

            SpellConfig.Add("FlayPush", new KeyBind("Flay Push Key", false, KeyBind.BindTypes.HoldActive, 'T'));
            SpellConfig.Add("FlayPull", new KeyBind("Flay Pull Key", false, KeyBind.BindTypes.HoldActive, 'H'));

            FleeConfig = Config.AddSubMenu("Flee Settings", "FleeSettings");
            FleeConfig.Add("flee", new KeyBind("Flee", false, KeyBind.BindTypes.HoldActive, 'Z'));
            FleeConfig.Add("autoEpush", new CheckBox("Auto E push", true));

            PredictConfig = Config.AddSubMenu("Predict Settings", "PredictSettings");
            PredictConfig.Add("PredictionMode", new ComboBox("Prediction Mode", 0, "Common", "OKTW", "SDK", "SPrediction"));
            PredictConfig.Add("HitChance", new ComboBox("Hit Chance", 0, "Very High", "High", "Medium"));

            BoxConfig = Config.AddSubMenu("Box Settings", "BoxSettings");
            BoxConfig.Add("BoxCount", new Slider("Box Count", 2, 1, 6));
            BoxConfig.Add("BoxMode", new ComboBox("Box Mode", 0, "Prediction", "Now"));

            SupportConfig = Config.AddSubMenu("Support Mode", "SupportMode");
            SupportConfig.Add("SupportMode", new CheckBox("Suppor tMode", true));
            SupportConfig.Add("SupportModeRange", new Slider("Support Mode Range", (int)Player.AttackRange + 200, (int)Player.AttackRange, 2000));
            SupportConfig.Add("AttackADC", new CheckBox("Attack ADC's Target [TEST]", true));


            DrawConfig = Config.AddSubMenu("Drawing Settings", "DrawingSettings");
            DrawConfig.Add("Drawwhenskillisready", new CheckBox("Draw when skill is ready", true));
            DrawConfig.Add("drawQ", new CheckBox("Draw Q Range", true));
            DrawConfig.Add("drawW", new CheckBox("Draw W Range", true));
            DrawConfig.Add("drawE", new CheckBox("Draw E Range", true));
            DrawConfig.Add("drawR", new CheckBox("Draw R Range", true));
            DrawConfig.Add("drawtg", new CheckBox("Draw Target", true));

            SmartKeyConfig = Config.AddSubMenu("Smart Cast", "SmartCast");
            SmartKeyConfig.Add("EnableFollow", new CheckBox("Enable Follow Options,Prss Q/W/E Auto Cast Spell", true));
            SmartKeyConfig.Add("SmartCastQ", new CheckBox("Smart Cast Q", true));
            SmartKeyConfig.Add("SmartCastW", new CheckBox("Smart Cast W", true));
            SmartKeyConfig.Add("SmartCastE", new CheckBox("Smart Cast E", true));

            TowerConfig = Config.AddSubMenu("Turret Settings", "TurretSettings");
            TowerConfig.Add("QEallyTurrettarget", new CheckBox("Q/E ally Turret’s target", true));
            TowerConfig.Add("QEtargetintoallyturret", new CheckBox("Q/E target into ally turret", true));
            TowerConfig.Add("DontQ2inenemyturret", new CheckBox("Don't Q2 in enemy turret", true));
        }
Esempio n. 21
0
 public void LockSpell(SpellConfig spell)
 {
     foreach (var category in SpellCategories)
     {
         var cfg = category.Spells.FirstOrDefault(d => d == spell);
         if (cfg)
         {
             cfg.IsUnlocked = false; break;
         }
     }
 }
Esempio n. 22
0
        public static void Init()
        {
            MenuConfig.Attach();
            SpellConfig.Load();

            Game.OnUpdate         += Manager.OnUpdate;
            Game.OnUpdate         += Killsteal.OnUpdate;
            Render.OnRender       += DrawManager.OnRender;
            Render.OnPresent      += DrawManager.OnPresent;
            Gapcloser.OnGapcloser += AntiGapcloser.OnGapcloser;
        }
Esempio n. 23
0
        public static string GetAttrByString(int id, string info)
        {
            SpellConfig spellConfig = ConfigData.GetSpellConfig(id);

            switch (info)
            {
            case "star": return(spellConfig.Star.ToString());

            case "des": return(new Spell(id).Descript);
            }
            return("");
        }
Esempio n. 24
0
 public VirastarConfig(CharConfig charConfiguration,
                       WordConfig wordConfiguration,
                       WritingRule writingRuleConfiguration,
                       IgnoreProcessConfig ignoreProcessConfiguration,
                       SpellConfig spellConfiguration)
 {
     CharConfiguration          = charConfiguration;
     WordConfiguration          = wordConfiguration;
     WritingRuleConfiguration   = writingRuleConfiguration;
     IgnoreProcessConfiguration = ignoreProcessConfiguration;
     SpellConfiguration         = spellConfiguration;
 }
Esempio n. 25
0
        public static void OnUpdate()
        {
            if (MenuConfig.LaneClear["Check"].Enabled && Global.Player.CountEnemyHeroesInRange(2000) > 0)
            {
                return;
            }

            var minion = GameObjects.EnemyMinions.FirstOrDefault(x => x.IsValidTarget(SpellConfig.E.Range) && x.IsEnemy);

            if (minion == null)
            {
                return;
            }

            var distance = minion.Distance(Global.Player);

            if (SpellConfig.Q.Ready && distance < SpellConfig.Q.Range)
            {
                if (minion.UnitSkinName.ToLower().Contains("cannon") && minion.Health >
                    Global.Player.GetSpellDamage(minion, SpellSlot.Q))
                {
                    return;
                }

                if (Extensions.Ferocity() == 4 && !MenuConfig.LaneClear["Q"].Enabled)
                {
                    return;
                }

                SpellConfig.CastQ(minion);
            }

            if (SpellConfig.W.Ready && distance < SpellConfig.W.Range)
            {
                if (Extensions.Ferocity() == 4 && !MenuConfig.LaneClear["W"].Enabled)
                {
                    return;
                }

                SpellConfig.CastW(minion);
            }

            if (SpellConfig.E.Ready)
            {
                if (!MenuConfig.Combo["E"].Enabled && Extensions.Ferocity() == 4)
                {
                    return;
                }

                SpellConfig.CastE(minion);
            }
        }
Esempio n. 26
0
        public static void Init()
        {
            MenuConfig.Attach();
            SpellConfig.Load();

            Game.OnUpdate += Manager.OnUpdate;
            Game.OnUpdate += Killsteal.OnUpdate;
            Obj_AI_Base.OnProcessSpellCast += Manager.OnProcessSpellCast;
            Global.Orbwalker.PostAttack    += Manager.PostAttack;
            Global.Orbwalker.PreAttack     += Manager.OnPreAttack;
            Render.OnRender  += DrawManager.OnRender;
            Render.OnPresent += DrawManager.RenderDamage;
        }
Esempio n. 27
0
        public static void Init()
        {
            MenuConfig.Attach();
            SpellConfig.Load();

            Game.OnUpdate += Manager.OnUpdate;
            Game.OnUpdate += SpellManager.OnUpdate;
            Game.OnUpdate += Killsteal.OnUpdate;
            Global.Orbwalker.PostAttack    += Manager.PostAttack;
            Obj_AI_Base.OnPlayAnimation    += Animation.OnPlayAnimation;
            Obj_AI_Base.OnProcessSpellCast += SpellManager.OnProcessSpellCast;
            Render.OnRender  += DrawManager.OnRender;
            Render.OnPresent += DrawManager.OnPresent;
        }
Esempio n. 28
0
        public static void Init()
        {
            MenuConfig.Attach();
            SpellConfig.Load();
            SoldierManager.Soldiers = new List <Obj_AI_Minion>();

            Game.OnUpdate += Manager.OnUpdate;
            Game.OnUpdate += Killsteal.OnUpdate;

            Render.OnPresent += DrawManager.OnPresent;
            Render.OnRender  += DrawManager.OnRender;

            GameObject.OnCreate            += SoldierManager.OnCreate;
            GameObject.OnDestroy           += SoldierManager.OnDelete;
            Obj_AI_Base.OnProcessSpellCast += AzirHelper.OnProcessSpellCast;
            Gapcloser.OnGapcloser          += AntiGapcloser.OnGapcloser;
        }
Esempio n. 29
0
        public static void BuffManagerOnOnRemoveBuff(Obj_AI_Base sender, Buff buff)
        {
            if (sender == null)
            {
                return;
            }

            if (sender.IsMe)
            {
                switch (buff.Name)
                {
                case "YasuoQ3W":
                    SpellConfig.SetSkill(Mode.Normal);
                    break;
                }
            }
        }
Esempio n. 30
0
        public static void OnPostAttack()
        {
            var target = Global.TargetSelector.GetTarget(SpellConfig.R.Range);

            if (target == null)
            {
                return;
            }

            if (SpellConfig.R.Ready && KnockUpHelper.KnockedUp(target))
            {
                SpellConfig.R.Cast();
            }

            if (SpellConfig.Q.Ready)
            {
                var enemyHero = GameObjects.EnemyHeroes.FirstOrDefault(x => x.IsValidTarget(SpellConfig.Q.Range));
                if (enemyHero != null)
                {
                    SpellConfig.Q.Cast(enemyHero);
                }
            }

            if (!SpellConfig.E.Ready)
            {
                return;
            }

            var minion = MinionHelper.GetDashableMinion(target);

            if (minion != null && target.Distance(Global.Player) > Global.Player.AttackRange)
            {
                if (MenuConfig.Combo["Turret"].Enabled && minion.ServerPosition.PointUnderEnemyTurret() ||
                    MenuConfig.Combo["Dash"].Value == 0 && minion.Distance(Game.CursorPos) > MenuConfig.Combo["Range"].Value)
                {
                    return;
                }
                SpellConfig.E.CastOnUnit(minion);
            }
            else if (!target.HasBuff("YasuoDashWrapper") && target.Distance(Global.Player) <= SpellConfig.E.Range &&
                     target.Distance(Global.Player) > SpellConfig.E.Range - target.BoundingRadius)
            {
                SpellConfig.CastE(target);
            }
        }
Esempio n. 31
0
 internal void Update(SpellConfig spellConfig)
 {
     Type = BattleTargetManager.GetRegionType(spellConfig.Target[2]);
     range = spellConfig.Range;
     CheckColor(spellConfig.Target[1]);
 }
Esempio n. 32
0
        public double Addon { get; set; }//法术强化造成的效果

        public Spell(int sid)
        {
            SpellConfig = ConfigData.GetSpellConfig(sid);
            UpgradeToLevel1();
        }