Example #1
0
        public void CreateArtifactTest()
        {
            Info MutantInfo = new Info
            {
                URL              = "Test",
                Username         = "******",
                Password         = "******",
                WorkingDirectory = Directory.GetCurrentDirectory() + "\\"
            };

            string CurrentDirectory = Directory.GetCurrentDirectory();

            using (StreamWriter file = File.CreateText(CurrentDirectory + @"\.credentials"))
            {
                JsonSerializer serializer = new JsonSerializer();
                serializer.Serialize(file, MutantInfo);
            }

            ArtificerFactory Factory   = new ArtificerFactory();
            Artificer        artificer = Factory.GetArtificer("Selective");

            artificer.CreateArtifact();

            Assert.IsTrue(Directory.Exists(@"deploy\artifacts"));
        }
Example #2
0
        public void DeployTest()
        {
            Info MutantInfo = new Info();

            MutantInfo.URL              = "Test";
            MutantInfo.Username         = "******";
            MutantInfo.Password         = "******";
            MutantInfo.WorkingDirectory = "Test";

            string CurrentDirectory = Directory.GetCurrentDirectory();

            using (StreamWriter file = File.CreateText(CurrentDirectory + @"\.credentials"))
            {
                JsonSerializer serializer = new JsonSerializer();
                serializer.Serialize(file, MutantInfo);
            }

            ArtificerFactory artificerFactory = new ArtificerFactory();
            Artificer        selective        = artificerFactory.GetArtificer("Selective");
            TestLevelFactory testFactory      = new TestLevelFactory();
            ITestLevel       none             = testFactory.CreateTestLevel("None");

            Deployment deployment = new Deployment(none, selective);

            try
            {
                deployment.Deploy();
            }
            catch (Exception)
            {
                Console.WriteLine("Expected ex.");
            }
        }
 public static void AddArtificer(Character character)
 {
     Artificer.Base(character);
     Artificer.Features(character);
     Artificer.Equipment(character);
     character.Archetype = Artificer.ArtificerSpecialist;
 }
        public static bool Init()
        {
            Commando.Setup();
            Huntress.Setup();
            Artificer.Setup();
            Mercenary.Setup();
            Engineer.Setup();
            Acrid.Setup();

            return(true);

            //#region merc
            //LoadoutAPI.AddSkill(typeof(VTStates.States.Mercenary.SummonClones));
            //{
            //    SkillDef mySkillDef = ScriptableObject.CreateInstance<SkillDef>();
            //    mySkillDef.activationState = new SerializableEntityStateType(typeof(VTStates.States.Mercenary.SummonClones));
            //    mySkillDef.activationStateMachineName = "Weapon";
            //    mySkillDef.baseMaxStock = 2;
            //    mySkillDef.baseRechargeInterval = 16f;
            //    mySkillDef.beginSkillCooldownOnSkillEnd = false;
            //    mySkillDef.canceledFromSprinting = false;
            //    mySkillDef.fullRestockOnAssign = true;
            //    mySkillDef.interruptPriority = InterruptPriority.Any;
            //    mySkillDef.isBullets = false;
            //    mySkillDef.isCombatSkill = true;
            //    mySkillDef.mustKeyPress = true;
            //    mySkillDef.noSprint = false;
            //    mySkillDef.rechargeStock = 1;
            //    mySkillDef.requiredStock = 1;
            //    mySkillDef.shootDelay = 0f;
            //    mySkillDef.stockToConsume = 1;
            //    //mySkillDef.icon = Resources.Load<Sprite>()
            //    mySkillDef.skillDescriptionToken = "Summon a shadow clone that inherits your items";
            //    mySkillDef.skillName = "EXPANDEDSKILLS_SUMMONCLONE_SPECIAL";
            //    mySkillDef.skillNameToken = "Shadow Clones";

            //    LoadoutAPI.AddSkillDef(mySkillDef);

            //    GameObject gameObject = Resources.Load<GameObject>("prefabs/characterbodies/mercbody");
            //    SkillLocator component = gameObject.GetComponent<SkillLocator>();
            //    SkillFamily skillFamily = component.special.skillFamily;

            //    Array.Resize(ref skillFamily.variants, skillFamily.variants.Length + 1);

            //    skillFamily.variants[skillFamily.variants.Length - 1] = new SkillFamily.Variant
            //    {
            //        skillDef = mySkillDef,
            //        unlockableName = "",
            //        viewableNode = new ViewablesCatalog.Node(mySkillDef.skillNameToken, false, null)

            //    };
            //}


            //#endregion merc

            #region commando

            #endregion commando
        }
Example #5
0
        public override int Run(string[] remainingArguments)
        {
            try
            {
                TestLevelFactory TestLevel = new TestLevelFactory();
                ITestLevel       tests     = TestLevel.CreateTestLevel(TestType);

                ArtificerFactory ArtificerFactory = new ArtificerFactory();
                Artificer        artificer        = ArtificerFactory.GetArtificer(ArtificeType);
                artificer.BaseCommit = BaseCommit;

                Deployment deployment = new Deployment(tests, artificer);

                deployment.Deploy();
            } catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(1);
            }

            return(0);
        }
Example #6
0
        public void CreateWithBaseCommit()
        {
            Info MutantInfo = new Info
            {
                URL              = "Test",
                Username         = "******",
                Password         = "******",
                WorkingDirectory = @"C:\temp\MutantTests"
            };

            if (Directory.Exists(MutantInfo.WorkingDirectory + @"\.git\"))
            {
                Console.WriteLine("Deleteing .git");
                DeleteDirectory(MutantInfo.WorkingDirectory + @"\.git\");
            }
            if (Directory.Exists(MutantInfo.WorkingDirectory + @"\src\"))
            {
                Console.WriteLine("Deleteing src");
                DeleteDirectory(MutantInfo.WorkingDirectory + @"\src\");
            }
            if (Directory.Exists(MutantInfo.WorkingDirectory + @"\deploy\"))
            {
                Console.WriteLine("Deleteing deploy");
                DeleteDirectory(MutantInfo.WorkingDirectory + @"\deploy\");
            }
            Directory.CreateDirectory(MutantInfo.WorkingDirectory);
            Directory.SetCurrentDirectory(MutantInfo.WorkingDirectory);
            using (StreamWriter file = File.CreateText(MutantInfo.WorkingDirectory + @"\.credentials"))
            {
                JsonSerializer serializer = new JsonSerializer();
                serializer.Serialize(file, MutantInfo);
            }
            Collection <PSObject> results = new Collection <PSObject>();

            results = RunPowershellCommand("git init", MutantInfo.WorkingDirectory);
            results = RunPowershellCommand("git config user.name \"Alex Morrison\"", MutantInfo.WorkingDirectory);
            results = RunPowershellCommand("git config user.email \"[email protected]\"", MutantInfo.WorkingDirectory);
            Directory.CreateDirectory(MutantInfo.WorkingDirectory + @"\src\classes");
            File.Create(Directory.GetCurrentDirectory() + @"\src\package.xml");

            using (File.Create(MutantInfo.WorkingDirectory + @"\src\classes\test1.cls")) { }
            using (File.Create(MutantInfo.WorkingDirectory + @"\src\classes\test1.cls-meta.xml")) { }

            results = RunPowershellCommand("git update-index --no-assume-unchanged " + MutantInfo.WorkingDirectory + @"\src\classes\test1.cls", MutantInfo.WorkingDirectory);
            results = RunPowershellCommand("git add -f " + MutantInfo.WorkingDirectory + @"\src\classes\test1.cls", MutantInfo.WorkingDirectory);
            results = RunPowershellCommand("git commit -m \"some\"", MutantInfo.WorkingDirectory);

            using (File.Create(MutantInfo.WorkingDirectory + @"\src\classes\test2.cls")) { }
            using (File.Create(MutantInfo.WorkingDirectory + @"\src\classes\test2.cls-meta.xml")) { }

            results = RunPowershellCommand("git update-index --no-assume-unchanged " + MutantInfo.WorkingDirectory + @"\src\classes\test2.cls", MutantInfo.WorkingDirectory);
            results = RunPowershellCommand("git add -f " + MutantInfo.WorkingDirectory + @"\src\classes\test2.cls", MutantInfo.WorkingDirectory);
            results = RunPowershellCommand("git commit -m \"testagain\"", MutantInfo.WorkingDirectory);
            results = RunPowershellCommand("git log --pretty=format:%H", MutantInfo.WorkingDirectory);
            string BaseCommit = results[1].ToString();

            ArtificerFactory Factory   = new ArtificerFactory();
            Artificer        artificer = Factory.GetArtificer("Selective");

            artificer.BaseCommit = BaseCommit;

            artificer.CreateArtifact();

            Assert.IsTrue(File.Exists(MutantInfo.WorkingDirectory + @"\deploy\artifacts\src\classes\test1.cls"));
            Assert.IsTrue(File.Exists(MutantInfo.WorkingDirectory + @"\deploy\artifacts\src\classes\test2.cls"));
        }
Example #7
0
 public Deployment(ITestLevel TestLevel, Artificer Artificer)
 {
     this.TestLevel = TestLevel;
     this.Artificer = Artificer;
 }
Example #8
0
        static void Main(string[] args)
        {
            Artificer artificer = new Artificer();

            try
            {
                string command = null;
                bool   exit    = false;
                while (!exit)
                {
                    switch (command)
                    {
                    case "extract_art":
                        artificer.ExtractRawCardImages();
                        break;

                    case "extract_audio":
                        artificer.ExtractVoiceoverAudio();
                        break;


                    case "api":
                        artificer.DownloadValveDefinitions();
                        break;

                    case "images":
                        artificer.DownloadCardImages();
                        break;

                    case "clear":
                        artificer.ClearDownloadedData();
                        break;

                    case "parse":
                        artificer.ParseGameData();
                        break;

                    case "merge":
                        artificer.MergeAPIWithGameFiles();
                        break;


                    case "articles":
                        artificer.DownloadCardArticles();
                        break;

                    case "generate":
                        artificer.GenerateWikiArticles();
                        break;

                    case "combine":
                        artificer.CombineWikiArticles();
                        break;

                    case "upload_art":
                        artificer.MassUploadImageFilesToWiki();
                        break;

                    case "upload_audio":
                        artificer.MassUploadAudioFilesToWiki();
                        break;

                    case "update":
                        artificer.UpdateArticles();
                        artificer.PurgeCardArticles();
                        break;

                    case "revert":
                        artificer.RevertArticles();
                        artificer.PurgeCardArticles();
                        break;

                    case "purge":
                        artificer.PurgeCardArticles();
                        break;

                    case "editpurge":
                        artificer.EditPurgeArticles();
                        artificer.PurgeCardArticles();
                        break;


                    case "exit":
                        exit = true;
                        break;

                    case null:
                        break;

                    default:
                        Console.WriteLine("Command not recognized.  Please try again.");
                        break;
                    }

                    if (!exit)
                    {
                        Console.WriteLine("\n\n\nPlease enter one of the following options:\n\n");
                        Console.WriteLine("  extract_art - [WARNING: MEMORY HEAVY] extract card background art from the configured Artifact game path.");
                        Console.WriteLine("  extract_audio - [WARNING: MEMORY HEAVY] extract VO / music audio from the configured Artifact game path.");
                        Console.WriteLine(" ");
                        Console.WriteLine("  api - retrieve / update complete card definitions from the official Valve API.");
                        Console.WriteLine("  images - retrieve card images from the official Valve API.");
                        Console.WriteLine("  clear - delete all extracted art/audio and downloaded card art.");
                        Console.WriteLine("  parse - read card/lore/voiceover data from game files at the configured Artifact game path.");
                        Console.WriteLine("  merge - combine card info from the game data at the configured Artifact game path with official API data.");
                        Console.WriteLine(" ");
                        Console.WriteLine("  articles - download all card articles and export them to disk for comparison.");
                        Console.WriteLine("  generate - create new card articles from all card definitions.");
                        Console.WriteLine("  combine - take the downloaded card articles and incorporate updated card data into them.");
                        Console.WriteLine("  upload_art - push all extracted game images and cached API card images to the configured wiki.");
                        Console.WriteLine("  upload_audio - push all extracted game voiceover files to the configured wiki.");
                        Console.WriteLine("  update - push or update all card articles (as configured) to the wiki as needed.");
                        Console.WriteLine("  revert - revert all Artificer edits to the configured articles.");
                        Console.WriteLine("  purge - update the cache for all card pages across the wiki.");
                        Console.WriteLine("  editpurge - perform a no-op edit on all configured cards (for cargo refresh purposes).");
                        Console.WriteLine(" ");
                        Console.WriteLine(" exit - exit\n");
                        command = Console.ReadLine().ToLower();
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine($"\n\n\n\n\nERROR\n\nAn exception was encountered while running Artificer.  Please provide the following to the maintainer of the bot:\n\n{e.ToString()}");
            }

            Console.WriteLine("\n\n\n\n\nPress Enter to continue...");
            Console.Read();
        }
        //for Sorceror only ^^
        public AllSpells(Character character)
        {
            Lvl = character.Lvl;
            string classStr  = character.ChosenClass;
            string archetype = character.Archetype;

            if (classStr == "Artificer" || classStr == "Fighter" || classStr == "Rogue" || classStr == "Wizard")
            {
                Stat = "Int";
            }
            else if (classStr == "Cleric" || classStr == "Druid" || classStr == "Ranger")
            {
                Stat = "Wis";
            }
            else if (classStr == "Bard" || classStr == "Paladin" || classStr == "Sorcerer" || classStr == "Swordmage" || classStr == "Warlock")
            {
                Stat = "Cha";
            }
            if (classStr == "Psion")
            {
                switch (archetype)
                {
                case "Clairsentience(Seer)":
                    Stat = "Wis";
                    break;

                case "Metacreativity(Shaper)":
                    Stat = "Int";
                    break;

                case "Psychokinesis(Savant)":
                    Stat = "Str";
                    break;

                case "Psychometabolism(Egoist)":
                    Stat = "Con";
                    break;

                case "Psychoportation(Nomad)":
                    Stat = "Dex";
                    break;

                case "Telepathy(Telepath)":
                    Stat = "Cha";
                    break;
                }
            }
            switch (classStr)
            {
            case "Artificer":
                Artificer.Add(0, ArtificerSpells.Cantrips);
                Artificer.Add(1, ArtificerSpells.FirstLvls);
                Artificer.Add(2, ArtificerSpells.SecondLvls);
                Artificer.Add(3, ArtificerSpells.ThirdLvls);
                Artificer.Add(4, ArtificerSpells.FourthLvls);
                Artificer.Add(5, ArtificerSpells.FifthLvls);
                break;

            case "Bard":
                Bard.Add(0, BardSpells.Cantrips);
                Bard.Add(1, BardSpells.FirstLvls);
                Bard.Add(2, BardSpells.SecondLvls);
                Bard.Add(3, BardSpells.ThirdLvls);
                Bard.Add(4, BardSpells.FourthLvls);
                Bard.Add(5, BardSpells.FifthLvls);
                Bard.Add(6, BardSpells.SixthLvls);
                Bard.Add(7, BardSpells.SeventhLvls);
                Bard.Add(8, BardSpells.EigthLvls);
                Bard.Add(9, BardSpells.NinthLvls);
                break;

            case "Cleric":
                Cleric.Add(0, ClericSpells.Cantrips);
                Cleric.Add(1, ClericSpells.FirstLvls);
                Cleric.Add(2, ClericSpells.SecondLvls);
                Cleric.Add(3, ClericSpells.ThirdLvls);
                Cleric.Add(4, ClericSpells.FourthLvls);
                Cleric.Add(5, ClericSpells.FifthLvls);
                Cleric.Add(6, ClericSpells.SixthLvls);
                Cleric.Add(7, ClericSpells.SeventhLvls);
                Cleric.Add(8, ClericSpells.EigthLvls);
                Cleric.Add(9, ClericSpells.NinthLvls);
                break;

            case "Druid":
                Druid.Add(0, DruidSpells.Cantrips);
                Druid.Add(1, DruidSpells.FirstLvls);
                Druid.Add(2, DruidSpells.SecondLvls);
                Druid.Add(3, DruidSpells.ThirdLvls);
                Druid.Add(4, DruidSpells.FourthLvls);
                Druid.Add(5, DruidSpells.FifthLvls);
                Druid.Add(6, DruidSpells.SixthLvls);
                Druid.Add(7, DruidSpells.SeventhLvls);
                Druid.Add(8, DruidSpells.EigthLvls);
                Druid.Add(9, DruidSpells.NinthLvls);
                break;

            case "Fighter":
                Fighter.Add(0, FighterSpells.Cantrips);
                Fighter.Add(1, FighterSpells.FirstLvls);
                Fighter.Add(2, FighterSpells.SecondLvls);
                Fighter.Add(3, FighterSpells.ThirdLvls);
                Fighter.Add(4, FighterSpells.FourthLvls);
                Wizard.Add(0, WizardSpells.Cantrips);
                Wizard.Add(1, WizardSpells.FirstLvls);
                Wizard.Add(2, WizardSpells.SecondLvls);
                Wizard.Add(3, WizardSpells.ThirdLvls);
                Wizard.Add(4, WizardSpells.FourthLvls);
                break;

            case "Paladin":
                Paladin.Add(1, PaladinSpells.FirstLvls);
                Paladin.Add(2, PaladinSpells.SecondLvls);
                Paladin.Add(3, PaladinSpells.ThirdLvls);
                Paladin.Add(4, PaladinSpells.FourthLvls);
                Paladin.Add(5, PaladinSpells.FifthLvls);
                break;

            case "Ranger":
                Ranger.Add(1, RangerSpells.FirstLvls);
                Ranger.Add(2, RangerSpells.SecondLvls);
                Ranger.Add(3, RangerSpells.ThirdLvls);
                Ranger.Add(4, RangerSpells.FourthLvls);
                Ranger.Add(5, RangerSpells.FifthLvls);
                break;

            case "Rogue":
                Rogue.Add(0, RogueSpells.Cantrips);
                Rogue.Add(1, RogueSpells.FirstLvls);
                Rogue.Add(2, RogueSpells.SecondLvls);
                Rogue.Add(3, RogueSpells.ThirdLvls);
                Rogue.Add(4, RogueSpells.FourthLvls);
                Wizard.Add(0, WizardSpells.Cantrips);
                Wizard.Add(1, WizardSpells.FirstLvls);
                Wizard.Add(2, WizardSpells.SecondLvls);
                Wizard.Add(3, WizardSpells.ThirdLvls);
                Wizard.Add(4, WizardSpells.FourthLvls);
                break;

            case "Psion":
                Psion.Add(0, PsionSpells.Cantrips);
                Psion.Add(1, PsionSpells.FirstLvls);
                Psion.Add(2, PsionSpells.SecondLvls);
                Psion.Add(3, PsionSpells.ThirdLvls);
                Psion.Add(4, PsionSpells.FourthLvls);
                Psion.Add(5, PsionSpells.FifthLvls);
                Psion.Add(6, PsionSpells.SixthLvls);
                Psion.Add(7, PsionSpells.SeventhLvls);
                Psion.Add(8, PsionSpells.EigthLvls);
                Psion.Add(9, PsionSpells.NinthLvls);
                break;

            case "Swordmage":
                Swordmage.Add(0, SwordmageSpells.Cantrips);
                Swordmage.Add(1, SwordmageSpells.FirstLvls);
                Swordmage.Add(2, SwordmageSpells.SecondLvls);
                Swordmage.Add(3, SwordmageSpells.ThirdLvls);
                Swordmage.Add(4, SwordmageSpells.FourthLvls);
                Swordmage.Add(5, SwordmageSpells.FifthLvls);
                break;

            case "Warlock":
                Warlock.Add(0, WarlockSpells.Cantrips);
                Warlock.Add(1, WarlockSpells.FirstLvls);
                Warlock.Add(2, WarlockSpells.SecondLvls);
                Warlock.Add(3, WarlockSpells.ThirdLvls);
                Warlock.Add(4, WarlockSpells.FourthLvls);
                Warlock.Add(5, WarlockSpells.FifthLvls);
                Warlock.Add(6, WarlockSpells.SixthLvls);
                Warlock.Add(7, WarlockSpells.SeventhLvls);
                Warlock.Add(8, WarlockSpells.EigthLvls);
                Warlock.Add(9, WarlockSpells.NinthLvls);
                break;

            case "Wizard":
                Wizard.Add(0, WizardSpells.Cantrips);
                Wizard.Add(1, WizardSpells.FirstLvls);
                Wizard.Add(2, WizardSpells.SecondLvls);
                Wizard.Add(3, WizardSpells.ThirdLvls);
                Wizard.Add(4, WizardSpells.FourthLvls);
                Wizard.Add(5, WizardSpells.FifthLvls);
                Wizard.Add(6, WizardSpells.SixthLvls);
                Wizard.Add(7, WizardSpells.SeventhLvls);
                Wizard.Add(8, WizardSpells.EigthLvls);
                Wizard.Add(9, WizardSpells.NinthLvls);
                break;
            }
        }