Beispiel #1
0
 public RecallInfo(EnemyInfo enemyInfo)
 {
     this.EnemyInfo = enemyInfo;
     this.Recall = new Packet.S2C.Teleport.Struct(
         this.EnemyInfo.Player.NetworkId,
         Packet.S2C.Teleport.Status.Unknown,
         Packet.S2C.Teleport.Type.Unknown,
         0);
 }
Beispiel #2
0
 public Recall()
 {
     foreach (Obj_AI_Hero enemy in ObjectManager.Get<Obj_AI_Hero>())
     {
         if (enemy.IsEnemy)
         {
             Packet.S2C.Teleport.Struct p = new Packet.S2C.Teleport.Struct(enemy.NetworkId, Packet.S2C.Teleport.Status.Unknown, Packet.S2C.Teleport.Type.Unknown, 0, 0);
             _recalls.Add(new RecallRender(p));
         }
     }
     Obj_AI_Base.OnTeleport += Obj_AI_Base_OnTeleport;
     GameUpdate a = null;
     a = delegate(EventArgs args)
     {
         Init();
         Game.OnUpdate -= a;
     };
     Game.OnUpdate += a;
 }
Beispiel #3
0
        public EnemyInfo UpdateRecall(Packet.S2C.Teleport.Struct newRecall)
        {
            this.LockedTarget = false;
            this.EstimatedShootT = 0;

            if (newRecall.Type == Packet.S2C.Teleport.Type.Recall
                && newRecall.Status == Packet.S2C.Teleport.Status.Abort)
            {
                this.AbortedRecall = this.Recall;
                this.AbortedT = Utils.TickCount;
            }
            else
            {
                this.AbortedT = 0;
            }

            this.Recall = newRecall;
            return this.EnemyInfo;
        }
Beispiel #4
0
 public Positions Update(Packet.S2C.Teleport.Struct newData)
 {
     if (newData.Type == Packet.S2C.Teleport.Type.Recall && newData.Status == Packet.S2C.Teleport.Status.Abort)
     {
         Aborted = Recall;
         AbortTime = System.Environment.TickCount;
         started = false;
     }
     else
     {
         AbortTime = 0;
     }
     if (newData.Type == Packet.S2C.Teleport.Type.Recall && newData.Status == Packet.S2C.Teleport.Status.Finish)
     {
         started = false;
     }
     if (newData.Type == Packet.S2C.Teleport.Type.Recall && newData.Status == Packet.S2C.Teleport.Status.Start)
     {
         if (!started)
         {
             RecallStartTime = System.Environment.TickCount;
         }
         started = true;
     }
     Recall = newData;
     return Positions;
 }
Beispiel #5
0
 public RecallData(Positions positions)
 {
     Positions = positions;
     Recall = new Packet.S2C.Teleport.Struct(
         Positions.Player.NetworkId, Packet.S2C.Teleport.Status.Unknown, Packet.S2C.Teleport.Type.Unknown, 0);
 }
Beispiel #6
0
        #pragma warning disable 618
        public EnemyInfo UpdateRecall(Packet.S2C.Teleport.Struct newRecall)
        #pragma warning restore 618
        {
            IncomingDamage.Clear();
            LockedTarget = false;
            EstimatedShootT = 0;

        #pragma warning disable 618
            if (newRecall.Type == Packet.S2C.Teleport.Type.Recall && newRecall.Status == Packet.S2C.Teleport.Status.Abort)
        #pragma warning restore 618
            {
                AbortedRecall = Recall;
                AbortedT = Utils.TickCount;
            }
            else
                AbortedT = 0;

            Recall = newRecall;
            return EnemyInfo;
        }
Beispiel #7
0
 public RecallInfo(EnemyInfo enemyInfo)
 {
     EnemyInfo = enemyInfo;
     #pragma warning disable 618
     Recall = new Packet.S2C.Teleport.Struct(EnemyInfo.Player.NetworkId, Packet.S2C.Teleport.Status.Unknown, Packet.S2C.Teleport.Type.Unknown, 0);
     #pragma warning restore 618
     IncomingDamage = new Dictionary<int, float>();
 }
Beispiel #8
0
 public RecallInfo(EnemyInfo enemyInfo)
 {
     EnemyInfo = enemyInfo;
     Recall = new Packet.S2C.Teleport.Struct(EnemyInfo.Player.NetworkId, Packet.S2C.Teleport.Status.Unknown, Packet.S2C.Teleport.Type.Unknown, 0);
     IncomingDamage = new Dictionary<int, float>();
 }
Beispiel #9
0
        public EnemyInfo UpdateRecall(Packet.S2C.Teleport.Struct newRecall)
        {
            IncomingDamage.Clear();
            LockedTarget = false;
            EstimatedShootT = 0;

            if (newRecall.Type == Packet.S2C.Teleport.Type.Recall && newRecall.Status == Packet.S2C.Teleport.Status.Abort)
            {
                AbortedRecall = Recall;
                AbortedT = Environment.TickCount;
            }
            else
                AbortedT = 0;

            Recall = newRecall;
            return EnemyInfo;
        }
Beispiel #10
0
 public RecallRender(Packet.S2C.Teleport.Struct recall)
 {
     var recWidth = 200;
     Recall = recall;
     Rectangle = new Render.Rectangle(Drawing.Width / 2, Drawing.Height / 4, recWidth, 10, SharpDX.Color.Green);
     Rectangle.PositionUpdate += delegate
     {
         float percent = RecallStatusPercent();
         var newWidth = (int) (recWidth - (recWidth * percent));
         if (!Rectangle.Width.Equals(newWidth))
         {
             Rectangle.Width = newWidth;
         }
         ColorBGRA newCol = Common.PercentColorRedToGreen(percent, (int)(255 - (255 * percent)));
         if (!Equals(newCol, Rectangle.Color))
         {
             Rectangle.Color = newCol;
         }
         return new Vector2(Drawing.Width / 2 - recWidth / 2, Drawing.Height / 1.5f);
     };
     Rectangle.VisibleCondition = delegate
     {
         return IsActive() && Recall.Status == Packet.S2C.Teleport.Status.Start;
     };
     Rectangle.Add(1);
     Line = new Render.Line(new Vector2(0, 0), new Vector2(0, 0), 1, SharpDX.Color.WhiteSmoke);
     Line.StartPositionUpdate += delegate
     {
         return new Vector2(Rectangle.X + Rectangle.Width, Rectangle.Y - 5);
     };
     Line.EndPositionUpdate += delegate
     {
         return new Vector2(Rectangle.X + Rectangle.Width, Rectangle.Y);
     };
     Line.VisibleCondition = delegate
     {
         Color newCol = new Color(255, 255, 255, (int)(255 - (255 * RecallStatusPercent())));
         if (!Equals(newCol, Line.Color))
         {
             Line.Color = newCol;
         }
         return IsActive() && Recall.Status == Packet.S2C.Teleport.Status.Start;
     };
     Line.Add();
     Text = new Render.Text(ObjectManager.GetUnitByNetworkId<Obj_AI_Hero>(Recall.UnitNetworkId).ChampionName, 0 ,0, 18, SharpDX.Color.WhiteSmoke);
     Text.PositionUpdate += delegate
     {
         return new Vector2(Line.Start.X, Line.Start.Y - 15);
     };
     Text.TextUpdate = delegate
     {
         Color newCol = new Color(255, 255, 255, (int)(255 - (150 * RecallStatusPercent())));
         if (!Equals(newCol, Text.Color))
         {
             Text.Color = newCol;
         }
         TimeSpan t = TimeSpan.FromMilliseconds(Recall.Start + Recall.Duration - Environment.TickCount);
         string time = string.Format("{0:D2},{1:D3}", t.Seconds, t.Milliseconds);
         return ObjectManager.GetUnitByNetworkId<Obj_AI_Hero>(Recall.UnitNetworkId).ChampionName + "\n" + time;
     };
     Text.Centered = true;
     Text.VisibleCondition = delegate
     {
         return IsActive() && Recall.Status == Packet.S2C.Teleport.Status.Start;
     };
     Text.Add();
 }