コード例 #1
0
ファイル: Program.cs プロジェクト: giaanthunder/EloBuddy
 public static void Main()
 {
     var evade = new Evade();
 }
コード例 #2
0
 private static void Events_OnLoad(object sender, EventArgs e)
 {
     _evade = new Evade();
 }
コード例 #3
0
        private static void AddDetectedSpells()
        {
            bool spellAdded = false;

            foreach (KeyValuePair <int, Spell> entry in DetectedSpells)
            {
                Spell spell = entry.Value;

                float evadeTime, spellHitTime;
                spell.CanHeroEvade(MyHero, out evadeTime, out spellHitTime);

                spell.SpellHitTime = spellHitTime;
                spell.EvadeTime    = evadeTime;

                var extraDelay = Game.Ping + Config.Properties.GetInt(ConfigValue.ExtraPingBuffer);

                if (spell.SpellHitTime - extraDelay < 1500 && CanHeroWalkIntoSpell(spell))
                //if(true)
                {
                    Spell newSpell = spell;
                    int   spellId  = spell.SpellId;

                    if (!DrawSpells.ContainsKey(spell.SpellId))
                    {
                        DrawSpells.Add(spellId, newSpell);
                    }

                    //var spellFlyTime = Evade.GetTickCount - spell.startTime;
                    if (spellHitTime < ConfigValue.SpellDetectionTime.GetInt())
                    {
                        continue;
                    }

                    if (EvadeUtils.TickCount - spell.StartTime < ConfigValue.ReactionTime.GetInt())
                    {
                        continue;
                    }

                    var dodgeInterval = ConfigValue.DodgeInterval.GetInt();
                    if (Evade.LastPosInfo != null && dodgeInterval > 0)
                    {
                        var timeElapsed = EvadeUtils.TickCount - Evade.LastPosInfo.Timestamp;

                        if (dodgeInterval > timeElapsed)
                        {
                            //var delay = dodgeInterval - timeElapsed;
                            //DelayAction.Add((int)delay, () => SpellDetector_OnProcessDetectedSpells());
                            continue;
                        }
                    }

                    if (!Spells.ContainsKey(spell.SpellId))
                    {
                        if (Config.Properties.GetSpell(newSpell.Info.SpellName).Dodge&& !(Evade.IsDodgeDangerousEnabled() && (int)newSpell.Dangerlevel < (int)SpellDangerLevel.High))
                        {
                            if (newSpell.SpellType == SpellType.Circular &&
                                !ConfigValue.DodgeCircularSpells.GetBool())
                            {
                                //return spellID;
                                continue;
                            }

                            Spells.Add(spellId, newSpell);

                            spellAdded = true;
                        }
                    }

                    if (ConfigValue.CheckSpellCollision.GetBool() && spell.PredictedEndPos != Vector2.Zero)
                    {
                        spellAdded = false;
                    }
                }
            }

            if (spellAdded && OnProcessDetectedSpells != null)
            {
                OnProcessDetectedSpells();
            }
        }
コード例 #4
0
 private static void Events_OnClose(object sender, EventArgs e)
 {
     _evade = null;
 }
コード例 #5
0
 public static void Main()
 {
     var evade = new Evade();
 }