Beispiel #1
0
        private void OnTeleport(Obj_AI_Base sender, Teleport.TeleportEventArgs args)
        {
            // Only check for enemy Heroes and recall teleports
            if (sender.Type == GameObjectType.AIHeroClient && sender.IsEnemy && args.Type == TeleportType.Recall)
            {
                var print = PrintRecallStatus.CurrentValue;
                switch (args.Status)
                {
                case TeleportStatus.Start:
                    RecallingHeroes[sender.NetworkId] = new Tuple <int, int>(Core.GameTickCount, args.Duration);
                    if (print)
                    {
                        Chat.Print("<font color='#FF0000'>" + sender.ChampionName + "</font> has started a recall.");
                    }
                    break;

                case TeleportStatus.Abort:
                    RecallingHeroes.Remove(sender.NetworkId);
                    if (print)
                    {
                        Chat.Print("<font color='#FF0000'>" + sender.ChampionName + "</font> has aborted a recall.");
                    }
                    break;

                case TeleportStatus.Finish:
                    LastSeen[sender.NetworkId]         = Core.GameTickCount;
                    LastSeenPosition[sender.NetworkId] = EnemySpawnPoint;
                    LastSeenRange[sender.NetworkId]    = 0;
                    RecallingHeroes.Remove(sender.NetworkId);
                    if (print)
                    {
                        Chat.Print("<font color='#FF0000'>" + sender.ChampionName + "</font> has finished a recall.");
                    }
                    break;
                }
            }
        }
        private void OnTeleport(Obj_AI_Base sender, Teleport.TeleportEventArgs args)
        {
            // Only check for enemy Heroes and recall teleports
            if (sender.Type == GameObjectType.AIHeroClient && sender.IsEnemy && args.Type == TeleportType.Recall)
            {
                switch (args.Status)
                {
                case TeleportStatus.Start:
                    RecallingHeroes[sender.NetworkId] = new Tuple <int, int>(Core.GameTickCount, args.Duration);
                    break;

                case TeleportStatus.Abort:
                    RecallingHeroes.Remove(sender.NetworkId);
                    break;

                case TeleportStatus.Finish:
                    LastSeen[sender.NetworkId]         = Core.GameTickCount;
                    LastSeenPosition[sender.NetworkId] = EnemySpawnPoint;
                    LastSeenRange[sender.NetworkId]    = 0;
                    RecallingHeroes.Remove(sender.NetworkId);
                    break;
                }
            }
        }