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")); }
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 }
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); }
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")); }
public Deployment(ITestLevel TestLevel, Artificer Artificer) { this.TestLevel = TestLevel; this.Artificer = Artificer; }
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; } }