Example #1
0
        public void CrawlStaticData(Region region)
        {
            ChooseApiKey();
            ChampionListStatic champions = Task.Run(async() => { return(await api.StaticData.Champions.GetAllAsync("8.15.1")); }).Result;

            foreach (string k in champions.Champions.Keys)
            {
                ChampionStatic champ;
                champions.Champions.TryGetValue(k, out champ);
                MyChampion championToAdd = new MyChampion(champ);
                Champions.Add(championToAdd);
                Console.WriteLine(champ.Name + " added");
            }
            //ChooseApiKey();
            //ItemListStatic items = Task.Run(async () => { return await api.StaticData.Items.GetAllAsync("8.15.1"); }).Result;
            //foreach(int k in items.Items.Keys)
            //{
            //    ItemStatic item;
            //    items.Items.TryGetValue(k, out item);
            //    MyItem itemToAdd = new MyItem(item);
            //    itemToAdd.ItemId = k;
            //    Items.Add(itemToAdd);
            //    Console.WriteLine(item.Name +" added");
            //}
        }
Example #2
0
        static void Main(string[] args)
        {
            string cmd = String.Empty;
            Dictionary <string, Champions> championsList = new Dictionary <string, Champions>();

            while ((cmd = Console.ReadLine()) != "Results")
            {
                string[] cmdArgs = cmd.Split(':', StringSplitOptions.RemoveEmptyEntries);
                string   cmdName = cmdArgs[0];

                switch (cmdName)
                {
                case "Add":
                    Champions.Add(championsList, cmdArgs);
                    break;

                case "Attack":
                    Champions.Attack(championsList, cmdArgs);
                    break;

                case "Delete":
                    Champions.Delete(championsList, cmdArgs);
                    break;
                }
            }

            Console.WriteLine($"People count: {championsList.Count}");

            foreach (var champion in championsList.OrderByDescending(x => x.Value.Health).ThenBy(x => x.Key))
            {
                Console.WriteLine($"{champion.Key} - {champion.Value.Health} - {champion.Value.Energy}");
            }
        }
Example #3
0
        void AddChampionToGame(PlayerData data, bool ourChampion)
        {
            ChampionSpawnInfo spawn = new ChampionSpawnInfo(data.ID, data.Position, data.Type, data.Team, data.MaxHealth, data.Health);

            IDraw          idraw;
            ClientChampion champ;

            if (ourChampion)
            {
                OurChampion               = new MainDrawableChampion(spawn, Match, ChampionsInfo);
                idraw                     = OurChampion;
                champ                     = OurChampion.Champion;
                ChampionState.MaxLife     = spawn.MaxHealth;
                ChampionState.CurrentLife = spawn.Health;
            }
            else
            {
                var remote = new RemoteDrawableChampion(spawn, spawn.Team == OurChampion.Champion.Team, ChampionsInfo);
                idraw = remote;
                champ = remote.Champion;
            }

            Champions.Add(champ);
            GameWorld.AddChild(idraw, 2);

            Match.CurrentState.AddEntity(champ);

            ILogger.Log(
                String.Format("New champion: id={0}, pos={1}, isOurChamp={2}", spawn.ID, spawn.SpawningPosition, ourChampion),
                LogPriority.High);
        }
Example #4
0
 public void addChampion(Champion champion)
 {
     if (Champions.Count > ChampionMax)
     {
         Debug.Log("Cannot have any more Champions in your entourage");
     }
     else
     {
         Champions.Add(champion);
     }
 }
        void AddChampionFromJSON(JToken champ)
        {
            Champion c = new Champion();

            c.LoadFromJSON(champ);

            if (champ.SelectToken("maxRng") != null)
            {
                c.MaxRNG = champ.SelectToken("maxRng").ToObject <int>();
            }

            if (champ.SelectToken("minRng") != null)
            {
                c.MinRNG = champ.SelectToken("minRng").ToObject <int>();
            }

            if (champ.SelectToken("defense") != null)
            {
                c.Defense = champ.SelectToken("defense").ToObject <int>();
            }

            if (champ.SelectToken("speed") != null)
            {
                c.Speed = champ.SelectToken("speed").ToObject <int>();
            }

            if (champ.SelectToken("damage") != null)
            {
                c.Damage = champ.SelectToken("damage").ToObject <int>();
            }

            if (champ.SelectToken("hitPoints") != null)
            {
                c.HitPoints = champ.SelectToken("hitPoints").ToObject <int>();
            }

            if (champ.SelectToken("size") != null)
            {
                c.Size = ((champ.SelectToken("size").ToObject <string>())[0] == '2'? 2: 1);
            }

            if (champ.SelectToken("classes") != null)
            {
                foreach (JToken cl in champ.SelectToken("classes"))
                {
                    c.Class.Add(cl.ToObject <string>());
                    Classes.AllowedStrings.Add(cl.ToObject <string>());
                }
            }

            if (champ.SelectToken("races") != null)
            {
                foreach (JToken r in champ.SelectToken("races"))
                {
                    c.Race.Add(r.ToObject <string>());
                    Races.AllowedStrings.Add(r.ToObject <string>());
                }
            }

            if (champ.SelectToken("startingAbilities") != null)
            {
                JToken abs = champ.SelectToken("startingAbilities");
                foreach (JToken ab in abs.Children())
                {
                    Ability a = AddAbilityFromJSON(ab);
                    if (a != null)
                    {
                        c.Abilities.Add(a.ID);
                    }
                }
            }

            if (champ.SelectToken("abilitySets") != null)
            {
                JToken absets = champ.SelectToken("abilitySets");

                JToken abset = absets.First;
                if (abset != null)
                {
                    if (abset.SelectToken("abilities") != null)
                    {
                        JToken abs          = abset.SelectToken("abilities");
                        int    cur_ab_index = 0;
                        foreach (JToken ab in abs.Children())
                        {
                            if (ab.SelectToken("default") != null)
                            {
                                if (ab.SelectToken("default").ToObject <bool>())
                                {
                                    c.DefaultUpgrade1Index = cur_ab_index;
                                }
                            }
                            Ability a = AddAbilityFromJSON(ab);
                            if (a != null)
                            {
                                c.Upgrade1.Add(a.ID);
                            }

                            cur_ab_index += 1;
                        }
                    }
                }

                abset = abset.Next;
                if (abset != null)
                {
                    if (abset.SelectToken("abilities") != null)
                    {
                        JToken abs          = abset.SelectToken("abilities");
                        int    cur_ab_index = 0;
                        foreach (JToken ab in abs.Children())
                        {
                            if (ab.SelectToken("default") != null)
                            {
                                if (ab.SelectToken("default").ToObject <bool>())
                                {
                                    c.DefaultUpgrade2Index = cur_ab_index;
                                }
                            }
                            Ability a = AddAbilityFromJSON(ab);
                            if (a != null)
                            {
                                c.Upgrade2.Add(a.ID);
                            }

                            cur_ab_index += 1;
                        }
                    }
                }
            }

            // set up nora costs
            c.DefaultNoraCost = c.NoraCost;
            c.NoraCost       -= Abilities[c.Upgrade1[c.DefaultUpgrade1Index]].NoraCost;
            c.NoraCost       -= Abilities[c.Upgrade2[c.DefaultUpgrade2Index]].NoraCost;
            // find min and max nora cost among upgrade 1 and 2
            int minupg1 = Abilities[c.Upgrade1[0]].NoraCost;
            int minupg2 = Abilities[c.Upgrade2[0]].NoraCost;
            int maxupg1 = Abilities[c.Upgrade1[0]].NoraCost;
            int maxupg2 = Abilities[c.Upgrade2[0]].NoraCost;

            for (int i = 1; i < c.Upgrade1.Count; i++)
            {
                if (Abilities[c.Upgrade1[i]].NoraCost < minupg1)
                {
                    minupg1 = Abilities[c.Upgrade1[i]].NoraCost;
                }
                if (Abilities[c.Upgrade1[i]].NoraCost > maxupg1)
                {
                    maxupg1 = Abilities[c.Upgrade1[i]].NoraCost;
                }
            }
            for (int i = 1; i < c.Upgrade2.Count; i++)
            {
                if (Abilities[c.Upgrade2[i]].NoraCost < minupg2)
                {
                    minupg2 = Abilities[c.Upgrade2[i]].NoraCost;
                }
                if (Abilities[c.Upgrade2[i]].NoraCost > maxupg2)
                {
                    maxupg2 = Abilities[c.Upgrade2[i]].NoraCost;
                }
            }
            c.MinNoraCost = c.NoraCost + minupg1 + minupg2;
            c.MaxNoraCost = c.NoraCost + maxupg1 + maxupg2;
            // find base cost without ANY abilities
            int basecost = c.NoraCost;

            foreach (var ab in c.Abilities)
            {
                basecost -= Abilities[ab].NoraCost;
            }
            c.BaseNoraCost = basecost;

            Champions.Add(c.ID, c);
        }