Example #1
0
        public Vector3 CalculateReturnPos()
        {
            if (Missile != null && Missile.IsValidMissile() && Target.IsValidTarget())
            {
                var finishPosition = Missile.Position;
                if (Missile.SData.Name.ToLower() == MissileName.ToLower())
                {
                    finishPosition = MissileEndPos;
                }

                var misToPlayer = Player.Distance(finishPosition);
                var tarToPlayer = Player.Distance(Target);

                if (misToPlayer > tarToPlayer)
                {
                    var misToTarget = Target.Distance(finishPosition);

                    if (misToTarget < QWER.Range && misToTarget > 50)
                    {
                        var cursorToTarget = Target.Distance(Player.Position.Extend(Game.CursorPos, 100));
                        var ext            = finishPosition.Extend(Target.ServerPosition, cursorToTarget + misToTarget);

                        if (ext.Distance(Player.Position) < 800 && ext.CountEnemiesInRange(400) < 2)
                        {
                            if (getCheckBoxItem("drawHelper"))
                            {
                                Utility.DrawCircle(ext.To3D(), 100, Color.White, 1, 1);
                            }
                            return(ext.To3D());
                        }
                    }
                }
            }
            return(Vector3.Zero);
        }
Example #2
0
 private void OnCreate(GameObject spell, EventArgs args)
 {
     if (spell.GetType() == typeof(MissileClient))
     {
         MissileClient miss = spell as MissileClient;
         if (miss.IsValidMissile() && miss.SpellCaster.NetworkId == Player.Instance.NetworkId && miss.SData.Name == "FlashFrostSpell")
         {
             Chat.Print("Casted Q");
             missile = miss;
         }
     }
 }