Exemplo n.º 1
0
            public TestResult Update(bool goodData, bool verbose)
            {
                var charRequest = new WoW.Messages.Characters.UpdateRequest();

                WoW.Enums.Class   oldClass   = Class;
                WoW.Enums.Race    oldRace    = Race;
                WoW.Enums.Faction oldFaction = Faction;
                charRequest.Login = Login;
                Generate(goodData);
                charRequest.Class   = Class;
                charRequest.Faction = Faction;
                charRequest.Race    = Race;
                TestResult result = Submit("/update", "POST", charRequest, verbose, "charUpdate");

                if (!result.Success)
                {
                    Class   = oldClass;
                    Faction = oldFaction;
                    Race    = oldRace;
                }
                return(result);
            }
Exemplo n.º 2
0
            //Generates the Race/Class and, if not supplied, Faction
            public void Generate(bool goodData, WoW.Enums.Faction?faction = null)
            {
                Random random = new Random();

                Enums.Faction usedFaction = faction.HasValue ? faction.Value : Faction;
                if (goodData)
                {
                    if (usedFaction == Enums.Faction.Alliance)
                    {
                        switch (random.Next(3))
                        {
                        case 0:
                            Race  = Enums.Race.Human;
                            Class = _classes[random.Next(3)];
                            break;

                        case 1:
                            Race  = Enums.Race.Gnome;
                            Class = _classes[random.Next(3)];
                            break;

                        case 2:
                            Race  = Enums.Race.Worgen;
                            Class = _classes[random.Next(4)];
                            break;
                        }
                    }
                    else
                    {
                        switch (random.Next(3))
                        {
                        case 0:
                            Race  = Enums.Race.BloodElf;
                            Class = _classes[random.Next(2)];
                            break;

                        case 1:
                            Race  = Enums.Race.Orc;
                            Class = _classes[random.Next(3)];
                            break;

                        case 2:
                            Race  = Enums.Race.Tauren;
                            Class = _classes[random.Next(4)];
                            break;
                        }
                    }
                }
                else
                {
                    //determine the cause of failure: case 0 sets a bad class against a
                    //race for the current faction. case 1 sets a bad race against the
                    //current faction (class is correct)
                    switch (random.Next(2))
                    {
                    case 0:
                        if (Faction == Enums.Faction.Alliance)
                        {
                            Race  = Enums.Race.Human;
                            Class = Enums.Class.Druid;
                        }
                        break;

                    case 1:
                        if (Faction == Enums.Faction.Horde)
                        {
                            switch (random.Next(3))
                            {
                            case 0:
                                Race  = Enums.Race.Human;
                                Class = _classes[random.Next(3)];
                                break;

                            case 1:
                                Race  = Enums.Race.Gnome;
                                Class = _classes[random.Next(3)];
                                break;

                            case 2:
                                Race  = Enums.Race.Worgen;
                                Class = _classes[random.Next(4)];
                                break;
                            }
                        }
                        else
                        {
                            switch (random.Next(3))
                            {
                            case 0:
                                Race  = Enums.Race.BloodElf;
                                Class = _classes[random.Next(2)];
                                break;

                            case 1:
                                Race  = Enums.Race.Orc;
                                Class = _classes[random.Next(3)];
                                break;

                            case 2:
                                Race  = Enums.Race.Tauren;
                                Class = _classes[random.Next(4)];
                                break;
                            }
                        }
                        break;
                    }
                }
            }