private void LoadMacros() { var macroTypes = Assembly .GetExecutingAssembly() .GetTypes() .Where(t => typeof(IMacro).IsAssignableFrom(t) && t.IsClass && !t.IsAbstract && t.GetCustomAttribute <MacroAttribute>() != null) .OrderBy(t => t.GetCustomAttribute <MacroAttribute>().Order); foreach (var type in macroTypes) { var macroViewModel = new MacroViewModel() { Type = type }; Macros.Add(macroViewModel); } foreach (var lineValues in FileUtil.GetFileLines(MACROS_FILE_NAME, MACROS_FILE_SEPARATOR)) { if (lineValues.Length >= 2) { var macro = Macros.FirstOrDefault(m => m.Name == lineValues[0]); if (macro != null) { macro.IsActive = bool.Parse(lineValues[1]); } } } }
/// <summary> /// Initializes the specified instance with a config root file. /// </summary> /// <returns>true if the config or assembly changed from the last run; otherwise returns false</returns> public bool Init() { _thisAssemblyPath = Assembly.GetExecutingAssembly().Location; _assemblyCheckFile = Path.ChangeExtension(_thisAssemblyPath, ".check-" + AppType); _assemblyDatetime = File.GetLastWriteTime(_thisAssemblyPath); _isAssemblyNew = (File.GetLastWriteTime(_thisAssemblyPath) != File.GetLastWriteTime(_assemblyCheckFile)); _generatedPath = Path.GetDirectoryName(_configRootPath); Logger.Message("Loading config files..."); Macros.Add("DIRECTX11_1"); Macros.Add(AppType); Config = ConfigFile.Load(_configRootPath, Macros.ToArray(), new KeyValue("VC_TOOLS_PATH", VcToolsPath)); var latestConfigTime = ConfigFile.GetLatestTimestamp(Config.ConfigFilesLoaded); _allConfigCheck = Config.Id + "-" + AppType + "-CodeGen.check"; var isConfigFileChanged = !File.Exists(_allConfigCheck) || latestConfigTime > File.GetLastWriteTime(_allConfigCheck); if (_isAssemblyNew) { Logger.Message("Assembly [{0}] changed. All files will be generated", _thisAssemblyPath); } else if (isConfigFileChanged) { Logger.Message("Config files [{0}] changed", string.Join(",", Config.ConfigFilesLoaded.Select(file => Path.GetFileName(file.AbsoluteFilePath)))); } // Return true if a config file changed or the assembly changed return(isConfigFileChanged || _isAssemblyNew); }
protected override void ImportList() { Logging.Debug("Setting each parsed macro as local, overriding if other local macro exists"); List <AutomationMacro> macroList = objectList as List <AutomationMacro>; foreach (AutomationMacro macro in macroList) { macro.MacroType = MacroType.Local; //check if macro already exists AutomationMacro result = Macros.Find(mac => mac.Name.ToLower().Equals(macro.Name.ToLower())); if (result != null) { if (result.MacroType != MacroType.Local) { Logging.Error("The parsed macro {{{0}}} already exists in the current macro list as macro type {1}, and cannot be overridden.", result.Name, result.MacroType.ToString()); continue; } else { Logging.Info("The parsed macro {{{0}}} already exists in the current macro list as macro type {1} with value {2}, and will be over-ridden", result.Name, result.MacroType.ToString(), result.Value); result.Value = macro.Value; } } else { Logging.Info("Adding macro {{{0}}} with value '{1}'", macro.Name, macro.Value); Macros.Add(macro); } } }
public override async Task RunTask() { await base.RunTask(); GetStringValue(); if (string.IsNullOrEmpty(stringWithValue)) { Logging.Debug("String value for processing is empty"); return; } //split it and if debug mode, output the string split values stringSplit = stringWithValue.Split(new string[] { SplitCharacters }, StringSplitOptions.RemoveEmptyEntries); Logging.Debug("String split count: {0}", stringSplit.Length); for (int i = 0; i < stringSplit.Length; i++) { Logging.Debug("Index {0}: {1}", i, stringSplit[i]); } if (index >= stringSplit.Count()) { Logging.Error("The index value {0} is outside the range of the array count. The macro will not be created"); return; } stringReturnValue = stringSplit[index]; Logging.Info("Creating macro, Name: {0}, Value: {1}", MacroName, stringReturnValue); Macros.Add(new AutomationMacro() { MacroType = MacroType.Local, Name = MacroName, Value = stringReturnValue }); }
/// <summary> /// Initializes the specified instance with a config root file. /// </summary> /// <returns>true if the config or assembly changed from the last run; otherwise returns false</returns> public bool Init() { _thisAssemblyPath = Assembly.GetExecutingAssembly().Location; _assemblyCheckFile = Path.ChangeExtension(_thisAssemblyPath, ".check"); _assemblyDatetime = File.GetLastWriteTime(_thisAssemblyPath); _isAssemblyNew = (File.GetLastWriteTime(_thisAssemblyPath) != File.GetLastWriteTime(_assemblyCheckFile)); _generatedPath = Path.GetDirectoryName(_configRootPath); Logger.Message("Loading config files..."); #if WIN8METRO // Load configuration Macros.Add("WIN8METRO"); Macros.Add("W8CORE"); #endif #if WP81 Macros.Add("WP81"); #endif #if WP8 // Load configuration Macros.Add("WP8"); Macros.Add("W8CORE"); #endif #if DIRECTX11_2 // Load configuration Macros.Add("DIRECTX11_2"); Macros.Add("DIRECTX11_1"); #elif DIRECTX11_1 Macros.Add("DIRECTX11_1"); #else if (GccXml.GetWindowsFramework7Version("7.0a", "7.1") == "7.0a") { Macros.Add("WINSDK_70a"); } else { Macros.Add("WINSDK_71"); } #endif Config = ConfigFile.Load(_configRootPath, Macros.ToArray()); var latestConfigTime = ConfigFile.GetLatestTimestamp(Config.ConfigFilesLoaded); _allConfigCheck = Config.Id + "-CodeGen.check"; var isConfigFileChanged = !File.Exists(_allConfigCheck) || latestConfigTime > File.GetLastWriteTime(_allConfigCheck); if (_isAssemblyNew) { Logger.Message("Assembly [{0}] changed. All files will be generated", _thisAssemblyPath); } else if (isConfigFileChanged) { Logger.Message("Config files [{0}] changed", string.Join(",", Config.ConfigFilesLoaded.Select(file => Path.GetFileName(file.AbsoluteFilePath)))); } // Return true if a config file changed or the assembly changed return(isConfigFileChanged || _isAssemblyNew); }
public void AddMacro(string macro) { if (macro == "") { return; } Macros.Add(macro); }
public override async Task RunTask() { await base.RunTask(); await GetStringValue(); if (string.IsNullOrEmpty(stringWithValue)) { Logging.Debug("String value for processing is empty"); return; } if (length > 0) { if (startIndex + length > stringWithValue.Length) { Logging.Error("The requested length of the substring {0} is greater then the length of the original string {1}", startIndex + length, stringWithValue.Length); return; } try { stringReturnValue = stringWithValue.Substring(startIndex, length); } catch (ArgumentOutOfRangeException ex) { Logging.Error(ex.Message); return; } } else { if (startIndex >= stringWithValue.Length) { Logging.Error("The requested start index {0} is greater then or equal to the length of the original string {1}", startIndex, stringWithValue.Length); return; } try { stringReturnValue = stringWithValue.Substring(startIndex); } catch (ArgumentOutOfRangeException ex) { Logging.Error(ex.Message); return; } } Logging.Info("Creating macro, Name: {0}, Value: {1}", MacroName, stringReturnValue); Macros.Add(new AutomationMacro() { MacroType = MacroType.Local, Name = MacroName, Value = stringReturnValue }); taskCompleted = true; }
public override async Task RunTask() { Logging.Info("Deleting macro if already exists"); await base.RunTask(); Logging.Info("Creating macro, Name: {0}, Value: {1}", MacroName, MacroValue); Macros.Add(new AutomationMacro() { MacroType = MacroType.Local, Name = MacroName, Value = MacroValue }); }
private void PopulateMacros() { if (Directory.Exists(CombineZpFolder)) { var files = Directory.GetFiles(CombineZpFolder, "*.czm"); foreach (string file in files) { Macros.Add(Path.GetFileNameWithoutExtension(file)); } } }
private bool TryAddAsMacro(string symbolName, LanguageSymbol langSymbol) { var symbol = langSymbol as GMacMacro; if (symbol == null) { return(false); } Macros.Add(symbolName, symbol); return(true); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Macros = ParseJson <List <KeyMacro> >(JSON_MACROS); if (Macros.Count == 0) { Macros.Add(CreateDummyMacro()); } Simulator = ParseJson <SimulationProcessor>(JSON_CONFIG); Application.Run(new frmMain()); }
/// <summary> /// Function called to initialize the effect. /// </summary> /// <remarks>Applications must implement this method to ensure that any required resources are created, and configured for the effect.</remarks> protected override void OnInitialize() { var globalData = new GlobalEffectData { CameraPosition = DX.Vector3.Zero, FlipYNormal = 0 }; _globalData = GorgonConstantBufferView.CreateConstantBuffer(Graphics, ref globalData, "Global deferred light effect data.", ResourceUsage.Default); _lightData = GorgonConstantBufferView.CreateConstantBuffer(Graphics, new GorgonConstantBufferInfo("Deferred Lighting Light Data Buffer") { SizeInBytes = Unsafe.SizeOf <PointLightData>(), Usage = ResourceUsage.Dynamic }); Macros.Add(new GorgonShaderMacro("DEFERRED_LIGHTING")); _vertexDeferShader = CompileShader <GorgonVertexShader>(Resources.Lighting, "GorgonVertexLightingShader"); _vertexDeferShaderState = VertexShaderBuilder.Shader(_vertexDeferShader) .Build(); _pixelDeferShader = CompileShader <GorgonPixelShader>(Resources.Lighting, "GorgonPixelShaderDeferred"); _pixelDeferShaderState = PixelShaderBuilder.Shader(_pixelDeferShader) .SamplerState(_diffuseFilter, 0) .SamplerState(_normalFilter, 1) .SamplerState(_specularFilter, 2) .Build(); Macros.Clear(); Macros.Add(new GorgonShaderMacro("LIGHTS")); _vertexLitShader = CompileShader <GorgonVertexShader>(Resources.Lighting, "GorgonVertexLitShader"); _vertexLitShaderState = VertexShaderBuilder.Shader(_vertexLitShader) .Build(); _pixelLitShader = CompileShader <GorgonPixelShader>(Resources.Lighting, "GorgonPixelShaderLighting"); _pixelLitShaderState = PixelShaderBuilder.Shader(_pixelLitShader) .ConstantBuffer(_lightData, 1) .ConstantBuffer(_globalData, 2) .SamplerState(_diffuseFilter, 0) .SamplerState(_normalFilter, 1) .SamplerState(_specularFilter, 2) .Build(); // Rebuild our states for the new pixel shaders. _lightingState = BatchStateBuilder.PixelShaderState(_pixelLitShaderState) .VertexShaderState(_vertexLitShaderState) .BlendState(GorgonBlendState.Additive) .Build(); }
protected virtual void GetDownloadUrlFilename() { string[] urlSplit = Url.Split('/'); urlFilename = urlSplit.Last(); Logging.Info("Url filename parsed as {0}", urlFilename); Logging.Info("Creating macro, Name: {0}, Value: {1}", "last_download_filename", urlFilename); Macros.Add(new AutomationMacro() { MacroType = MacroType.Local, Name = "last_download_filename", Value = urlFilename }); DestinationPath = ProcessMacro(nameof(DestinationPath), DestinationPath); }
private void Save() { if (Macros.ContainsKey(m_entry.Id)) { Macros[m_entry.Id] = m_entry; } else { Macros.Add(m_entry.Id, m_entry); } if (SaveMacros()) { Program.MainForm.Notify($"Macro saved: {m_entry.Binding}"); } }
public override async Task RunTask() { string valueToSave; if (property.PropertyType.IsValueType) { valueToSave = property.GetValue(targetPackage).ToString(); } else { object currentValue = property.GetValue(targetPackage); //to get type of array //https://stackoverflow.com/a/2085186/3128017 Type arrayType = currentValue.GetType().GetElementType(); if (!(arrayType.IsValueType || arrayType.Equals(typeof(string)))) { Logging.Error("The array requested does not hold value type objects"); propertyGot = false; return; } Array arrayObject = currentValue as Array; if (propertyIndex > arrayObject.Length || propertyIndex < 0) { Logging.Error("Index {0} is not valid for this property, valid options are 0 to {1}", propertyIndex, arrayObject.Length - 1); propertyGot = false; return; } object indexedArrayObjectValue = arrayObject.GetValue(propertyIndex); valueToSave = indexedArrayObjectValue.ToString(); } Logging.Info("Creating macro for package {0} (UID {1}) of property {2}", targetPackage.PackageName, targetPackage.UID, property.Name); Logging.Info("Macro name: {0}, Value: {1}", MacroSaveName, valueToSave); AutomationMacro macro = Macros.Find(mac => mac.Name.Equals(MacroSaveName)); if (macro != null) { Macros.Remove(macro); } Macros.Add(new AutomationMacro() { MacroType = MacroType.Local, Name = MacroSaveName, Value = valueToSave }); propertyGot = true; }
public override async Task RunTask() { string currentValue = property.GetValue(targetPackage).ToString(); //add the macro so it could be used in this task (and later) Logging.Debug("The old value was added to the macro list (macro name is old_package_property_value)"); Macros.Add(new AutomationMacro() { MacroType = MacroType.Local, Name = "old_package_property_value", Value = currentValue }); //then run the macro process again in case the user is using the old value (using {old_package_property_value}, just created) to create the new one PropertyValue = ProcessMacro(nameof(PropertyValue), PropertyValue); Logging.Info("Applying value {0} to property {1} of type {2}", PropertyValue, property.Name, property.PropertyType.ToString()); propertySet = CommonUtils.SetObjectProperty(targetPackage, property, PropertyValue); }
private void LoadMacros() { var macroTypes = Assembly .GetExecutingAssembly() .GetTypes() .Where(t => typeof(IMacro).IsAssignableFrom(t) && t.IsClass && !t.IsAbstract && t.GetCustomAttribute <MacroAttribute>() != null) .OrderBy(t => t.GetCustomAttribute <MacroAttribute>().Order); foreach (var type in macroTypes) { var macroViewModel = new MacroViewModel() { Type = type }; Macros.Add(macroViewModel); } }
public async override Task RunTask() { searchResults = FileUtils.FileSearch(DirectoryPath, recursive ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly, false, false, SearchPattern); if (searchResults == null || searchResults.Count() == 0) { return; } for (int i = 0; i < searchResults.Count(); i++) { string macroNameToAdd = string.Format("{0}_{1}", MacroPrefix, i); string macroValueToAdd = searchResults[i]; Logging.Info("Creating macro, Name: {0}, Value: {1}", macroNameToAdd, macroValueToAdd); Macros.Add(new AutomationMacro() { MacroType = MacroType.Local, Name = macroNameToAdd, Value = macroValueToAdd }); } }
/// <summary> /// Initializes the specified instance with a config root file. /// </summary> /// <returns>true if the config or assembly changed from the last run; otherwise returns false</returns> public bool Init() { _thisAssemblyPath = GetType().GetTypeInfo().Assembly.Location; _assemblyCheckFile = Path.Combine(IntermediateOutputPath, $"SharpGen.{AppType}.check"); _assemblyDatetime = File.GetLastWriteTime(_thisAssemblyPath); _isAssemblyNew = (_assemblyDatetime != File.GetLastWriteTime(_assemblyCheckFile)); _generatedPath = OutputDirectory ?? Path.GetDirectoryName(Path.GetFullPath(ConfigRootPath)); Logger.Message("Loading config files..."); Macros.Add(AppType); if (Config == null) { Config = ConfigFile.Load(ConfigRootPath, Macros.ToArray(), Logger, new KeyValue("VC_TOOLS_PATH", VcToolsPath)); } else { Config = ConfigFile.Load(Config, Macros.ToArray(), Logger, new KeyValue("VC_TOOLS_PATH", VcToolsPath)); } var latestConfigTime = ConfigFile.GetLatestTimestamp(Config.ConfigFilesLoaded); _allConfigCheck = Path.Combine(IntermediateOutputPath, Config.Id + "-" + AppType + "-CodeGen.check"); var isConfigFileChanged = !File.Exists(_allConfigCheck) || latestConfigTime > File.GetLastWriteTime(_allConfigCheck); if (_isAssemblyNew) { Logger.Message("Assembly [{0}] changed. All files will be generated", _thisAssemblyPath); } else if (isConfigFileChanged) { Logger.Message("Config files [{0}] changed", string.Join(",", Config.ConfigFilesLoaded.Select(file => Path.GetFileName(file.AbsoluteFilePath)))); } // Return true if a config file changed or the assembly changed return(isConfigFileChanged || _isAssemblyNew); }
public override void Initialize() { Aimsharp.PrintMessage("Simple self-heal plugin loaded."); if (GetDropDown("Class") == "Hunter") { Spellbook.Add("Exhilaration"); } if (GetDropDown("Class") == "Rogue") { Spellbook.Add("Crimson Vial"); Spellbook.Add("Evasion"); } if (GetDropDown("Class") == "Priest") { Spellbook.Add("Desperate Prayer"); } if (GetDropDown("Class") == "Death Knight") { Spellbook.Add("Death Strike"); } if (GetDropDown("Class") == "Warrior") { Spellbook.Add("Last Stand"); Spellbook.Add("Enraged Regeneration"); } Macros.Add("hstone", "/use healthstone"); Macros.Add("abyssalhp", "/use Abyssal Healing Potion"); Items.Add("Healthstone"); Items.Add("Abyssal Healing Potion"); }
public override void Initialize() { Class = GetDropDown("Class"); Aimsharp.PrintMessage("Arena Interrupts Plugin"); Aimsharp.PrintMessage("This plugin will only work inside arenas!"); Aimsharp.PrintMessage("Do not use this together with the normal Kicks plugin!"); Aimsharp.PrintMessage("Use this macro to hold your kicks for a number of seconds: /xxxxx SaveKicks #"); Aimsharp.PrintMessage("For example: /xxxxx SaveKicks 5"); Aimsharp.PrintMessage("will make the bot not kick anything for the next 5 seconds."); if (Class == "Hunter") { Interrupts.Add("Counter Shot"); } if (Class == "Rogue") { Interrupts.Add("Kick"); } if (Class == "Priest") { Interrupts.Add("Silence"); } if (Class == "Demon Hunter") { Interrupts.Add("Disrupt"); } if (Class == "Shaman") { Interrupts.Add("Wind Shear"); Specials.Add("Grounding Totem"); Specials.Add("Lightning Lasso"); } if (Class == "Paladin") { Interrupts.Add("Rebuke"); } if (Class == "Death Knight") { Interrupts.Add("Mind Freeze"); } if (Class == "Druid") { Interrupts.Add("Skull Bash"); Interrupts.Add("Solar Beam"); } if (Class == "Warlock") { Interrupts.Add("Spell Lock"); Specials.Add("Mortal Coil"); } if (Class == "Mage") { Interrupts.Add("Counterspell"); } if (Class == "Monk") { Interrupts.Add("Spear Hand Strike"); } if (Class == "Warrior") { Interrupts.Add("Pummel"); } foreach (string Interrupt in Interrupts) { Spellbook.Add(Interrupt); Macros.Add(Interrupt + "1", "/cast [@arena1] " + Interrupt); Macros.Add(Interrupt + "2", "/cast [@arena2] " + Interrupt); Macros.Add(Interrupt + "3", "/cast [@arena3] " + Interrupt); } foreach (string Special in Specials) { Spellbook.Add(Special); Macros.Add(Special + "1", "/cast [@arena1] " + Special); Macros.Add(Special + "2", "/cast [@arena2] " + Special); Macros.Add(Special + "3", "/cast [@arena3] " + Special); } foreach (string immune in immunes) { Buffs.Add(immune); } foreach (string spell_immune in spell_immunes) { Buffs.Add(spell_immune); } foreach (string physical_immune in physical_immunes) { Buffs.Add(physical_immune); } CustomCommands.Add("SaveKicks"); }
public override void Initialize() { // Aimsharp.DebugMode(); Aimsharp.PrintMessage("Perfect Simcraft Series: Ret Paladin - v 1.0", Color.Blue); Aimsharp.PrintMessage("Recommended talents: 3313213", Color.Blue); Aimsharp.PrintMessage("These macros can be used for manual control:", Color.Blue); Aimsharp.PrintMessage("/xxxxx Potions", Color.Blue); Aimsharp.PrintMessage("--Toggles using buff potions on/off.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("/xxxxx SaveCooldowns", Color.Blue); Aimsharp.PrintMessage("--Toggles the use of big cooldowns on/off.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("/xxxxx AOE", Color.Blue); Aimsharp.PrintMessage("--Toggles AOE mode on/off.", Color.Blue); Aimsharp.PrintMessage(" "); // Aimsharp.PrintMessage("/xxxxx Prepull 10", Color.Blue); // Aimsharp.PrintMessage("--Starts the prepull actions.", Color.Blue); // Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("--Replace xxxxx with first 5 letters of your addon, lowercase.", Color.Blue); Aimsharp.Latency = 0; Aimsharp.QuickDelay = 125; MajorPower = GetDropDown("Major Power"); TopTrinket = GetDropDown("Top Trinket"); BotTrinket = GetDropDown("Bot Trinket"); RacialPower = GetDropDown("Racial Power"); Spellbook.Add(MajorPower); if (RacialPower == "Orc") { Spellbook.Add("Blood Fury"); } if (RacialPower == "Troll") { Spellbook.Add("Berserking"); } if (RacialPower == "Dark Iron Dwarf") { Spellbook.Add("Fireblood"); } if (RacialPower == "Mag'har Orc") { Spellbook.Add("Ancestral Call"); } if (RacialPower == "Lightforged Draenei") { Spellbook.Add("Light's Judgment"); } if (RacialPower == "Bloodelf") { Spellbook.Add("Arcane Torrent"); } Spellbook.Add("Rebuke"); Spellbook.Add("Shield of Vengeance"); Spellbook.Add("Crusade"); Spellbook.Add("Avenging Wrath"); Spellbook.Add("Inquisition"); Spellbook.Add("Blade of Justice"); Spellbook.Add("Judgment"); Spellbook.Add("Execution Sentence"); Spellbook.Add("Divine Storm"); Spellbook.Add("Templar's Verdict"); Spellbook.Add("Wake of Ashes"); Spellbook.Add("Hammer of Wrath"); Spellbook.Add("Consecration"); Spellbook.Add("Crusader Strike"); Buffs.Add("Bloodlust"); Buffs.Add("Heroism"); Buffs.Add("Time Warp"); Buffs.Add("Ancient Hysteria"); Buffs.Add("Netherwinds"); Buffs.Add("Drums of Rage"); Buffs.Add("Lifeblood"); Buffs.Add("Memory of Lucid Dreams"); Buffs.Add("Reckless Force"); Buffs.Add("Guardian of Azeroth"); Buffs.Add("Avenging Wrath"); Buffs.Add("Crusade"); Buffs.Add("Seething Rage"); Buffs.Add("Inquisition"); Buffs.Add("Empyrean Power"); Buffs.Add("Divine Purpose"); Debuffs.Add("Razor Coral"); Debuffs.Add("Conductive Ink"); Debuffs.Add("Shiver Venom"); Debuffs.Add("Judgment"); Items.Add(TopTrinket); Items.Add(BotTrinket); Items.Add(GetDropDown("Potion Type")); Macros.Add(TopTrinket, "/use " + TopTrinket); Macros.Add(BotTrinket, "/use " + BotTrinket); Macros.Add("TopTrink", "/use 13"); Macros.Add("BotTrink", "/use 14"); Macros.Add("potion", "/use " + GetDropDown("Potion Type")); CustomCommands.Add("Potions"); CustomCommands.Add("SaveCooldowns"); CustomCommands.Add("AOE"); // CustomCommands.Add("Prepull"); // CustomCommands.Add("LightAOE"); }
public override void Initialize() { Aimsharp.DebugMode(); Aimsharp.PrintMessage("Vid Marksman - v 1.0", Color.Yellow); Aimsharp.PrintMessage("These macros can be used for manual control:", Color.Blue); Aimsharp.PrintMessage("/xxxxx NoAOE --Toggles AOE mode on/off.", Color.Blue); Aimsharp.PrintMessage("/xxxxx Potions --Toggles using buff potions on/off.", Color.Blue); Aimsharp.PrintMessage("/xxxxx SaveCooldowns --Toggles the use of big cooldowns on/off.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("--Replace xxxxx with first 5 letters of your addon, lowercase.", Color.Blue); MajorPower = GetDropDown("Major Power"); TopTrinket = GetDropDown("Top Trinket"); BotTrinket = GetDropDown("Bot Trinket"); RacialPower = GetDropDown("Racial Power"); usableitems = GetString("Use item: Case Sens"); AzeritePrimalInstinctsEnabled = GetCheckBox("Azerite Primal Instincts"); AzeriteRapidReloadEnabled = GetCheckBox(("Azerite Rapid Reload")); AzeriteDanceOfDeathRank = GetSlider("Azerite Dance of Death Rank: "); if (RacialPower == "Orc") { Spellbook.Add("Blood Fury"); } if (RacialPower == "Troll") { Spellbook.Add("Berserking"); } if (RacialPower == "Dark Iron Dwarf") { Spellbook.Add("Fireblood"); } if (RacialPower == "Mag'har Orc") { Spellbook.Add("Ancestral Call"); } if (RacialPower == "Lightforged Draenei") { Spellbook.Add("Light's Judgment"); } Spellbook.Add(MajorPower); Spellbook.Add("Bestial Wrath"); Spellbook.Add("Hunter's Mark"); Spellbook.Add("Kill Command"); Spellbook.Add("Cobra Shot"); Spellbook.Add("Multi-Shot"); Spellbook.Add("Barbed Shot"); Spellbook.Add("Barrage"); Spellbook.Add("Dire Beast"); Spellbook.Add("Stampede"); Spellbook.Add("Kill Shot"); Spellbook.Add("Bloodshed"); Spellbook.Add("Exhilaration"); Spellbook.Add("Arcane Shot"); Spellbook.Add("Aspect of the Wild"); Buffs.Add("Lifeblood"); Buffs.Add("Beast Cleave"); Buffs.Add("Trick Shots"); Buffs.Add("Trueshot"); Buffs.Add("Memory of Lucid Dreams"); Debuffs.Add("Razor Coral"); Debuffs.Add("Hunter's Mark"); Items.Add(TopTrinket); Items.Add(BotTrinket); Items.Add(usableitems); Macros.Add("ItemUse", "/use " + usableitems); Macros.Add("TopTrink", "/use 13"); Macros.Add("BotTrink", "/use 14"); CustomCommands.Add("NoAOE"); CustomCommands.Add("Potions"); CustomCommands.Add("SaveCooldowns"); }
public override void Initialize() { // Aimsharp.DebugMode(); Aimsharp.PrintMessage("Perfect Simcraft Series: Boomkin - v 1.0", Color.Blue); Aimsharp.PrintMessage("Recommended talents: 1333331", Color.Blue); Aimsharp.PrintMessage("These macros can be used for manual control:", Color.Blue); Aimsharp.PrintMessage("/xxxxx Potions", Color.Blue); Aimsharp.PrintMessage("--Toggles using buff potions on/off.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("/xxxxx SaveCooldowns", Color.Blue); Aimsharp.PrintMessage("--Toggles the use of big cooldowns on/off.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("/xxxxx AOE", Color.Blue); Aimsharp.PrintMessage("--Toggles AOE mode on/off.", Color.Blue); Aimsharp.PrintMessage(" "); // Aimsharp.PrintMessage("/xxxxx Prepull 10", Color.Blue); // Aimsharp.PrintMessage("--Starts the prepull actions.", Color.Blue); // Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("--Replace xxxxx with first 5 letters of your addon, lowercase.", Color.Blue); Aimsharp.Latency = 50; Aimsharp.QuickDelay = 100; Aimsharp.SlowDelay = 300; MajorPower = GetDropDown("Major Power"); TopTrinket = GetDropDown("Top Trinket"); BotTrinket = GetDropDown("Bot Trinket"); RacialPower = GetDropDown("Racial Power"); Spellbook.Add(MajorPower); if (RacialPower == "Orc") { Spellbook.Add("Blood Fury"); } if (RacialPower == "Troll") { Spellbook.Add("Berserking"); } if (RacialPower == "Dark Iron Dwarf") { Spellbook.Add("Fireblood"); } if (RacialPower == "Mag'har Orc") { Spellbook.Add("Ancestral Call"); } if (RacialPower == "Lightforged Draenei") { Spellbook.Add("Light's Judgment"); } if (RacialPower == "Bloodelf") { Spellbook.Add("Arcane Torrent"); } Spellbook.Add("Moonkin Form"); Spellbook.Add("Celestial Alignment"); Spellbook.Add("Incarnation: Chosen of Elune"); Spellbook.Add("Moonfire"); Spellbook.Add("Sunfire"); Spellbook.Add("Stellar Flare"); Spellbook.Add("Thorns"); Spellbook.Add("Warrior of Elune"); Spellbook.Add("Innervate"); Spellbook.Add("Force of Nature"); Spellbook.Add("Fury of Elune"); Spellbook.Add("Starfall"); Spellbook.Add("Starsurge"); Spellbook.Add("New Moon"); Spellbook.Add("Half Moon"); Spellbook.Add("Full Moon"); Spellbook.Add("Lunar Strike"); Spellbook.Add("Solar Wrath"); Buffs.Add("Bloodlust"); Buffs.Add("Heroism"); Buffs.Add("Time Warp"); Buffs.Add("Ancient Hysteria"); Buffs.Add("Netherwinds"); Buffs.Add("Drums of Rage"); Buffs.Add("Lifeblood"); Buffs.Add("Memory of Lucid Dreams"); Buffs.Add("Reckless Force"); Buffs.Add("Guardian of Azeroth"); Buffs.Add("Moonkin Form"); Buffs.Add("Celestial Alignment"); Buffs.Add("Incarnation: Chosen of Elune"); Buffs.Add("Starlord"); Buffs.Add("Warrior of Elune"); Buffs.Add("Lively Spirit"); Buffs.Add("Blessing of Elune"); Buffs.Add("Arcanic Pulsar"); Buffs.Add("Lunar Empowerment"); Buffs.Add("Solar Empowerment"); Debuffs.Add("Razor Coral"); Debuffs.Add("Conductive Ink"); Debuffs.Add("Shiver Venom"); Debuffs.Add("Moonfire"); Debuffs.Add("Sunfire"); Debuffs.Add("Stellar Flare"); Items.Add(TopTrinket); Items.Add(BotTrinket); Items.Add(GetDropDown("Potion Type")); Items.Add("Neural Synapse Enhancer"); Macros.Add(TopTrinket, "/use " + TopTrinket); Macros.Add(BotTrinket, "/use " + BotTrinket); Macros.Add("potion", "/use " + GetDropDown("Potion Type")); Macros.Add("TopTrink", "/use 13"); Macros.Add("BotTrink", "/use 14"); Macros.Add("neural", "/use Neural Synapse Enhancer"); Macros.Add("force cursor", "/cast [@cursor] Force of Nature"); Macros.Add("cancel star", "/cancelaura Starlord"); Macros.Add("starfall cursor", "/cast [@cursor] Starfall"); //Macros.Add("inn player", "/cast [@player] Innervate"); //doesn't work can only hit healers Macros.Add("thorns player", "/cast [@player] Thorns"); CustomCommands.Add("Potions"); CustomCommands.Add("SaveCooldowns"); CustomCommands.Add("AOE"); // CustomCommands.Add("Prepull"); // CustomCommands.Add("LightAOE"); }
/// <summary> /// Construct a default preprocessor context. /// </summary> public Context() { Macros.Add("defined", new Macro("defined", new string[] { "symbol" }, "symbol")); }
public override void Initialize() { Aimsharp.DebugMode(); Aimsharp.PrintMessage("Ice Series: Assassination Rogue - v 1.0", Color.Blue); Aimsharp.PrintMessage("These macros can be used for manual control:", Color.Blue); Aimsharp.PrintMessage("/xxxxx Potions", Color.Blue); Aimsharp.PrintMessage("--Toggles using buff potions on/off.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("/xxxxx SaveCooldowns", Color.Blue); Aimsharp.PrintMessage("--Toggles the use of big cooldowns on/off.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("/xxxxx AOE", Color.Blue); Aimsharp.PrintMessage("--Toggles AOE mode on/off.", Color.Blue); //Aimsharp.PrintMessage(" "); // Aimsharp.PrintMessage("/xxxxx Prepull 10", Color.Blue); // Aimsharp.PrintMessage("--Starts the prepull actions.", Color.Blue); // Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("--Replace xxxxx with first 5 letters of your addon, lowercase.", Color.Blue); Aimsharp.Latency = 50; Aimsharp.QuickDelay = 125; Aimsharp.SlowDelay = 250; MajorPower = GetDropDown("Major Power"); TopTrinket = GetDropDown("Top Trinket"); BotTrinket = GetDropDown("Bot Trinket"); RacialPower = GetDropDown("Racial Power"); Spellbook.Add(MajorPower); if (RacialPower == "Orc") { Spellbook.Add("Blood Fury"); } if (RacialPower == "Troll") { Spellbook.Add("Berserking"); } if (RacialPower == "Dark Iron Dwarf") { Spellbook.Add("Fireblood"); } if (RacialPower == "Mag'har Orc") { Spellbook.Add("Ancestral Call"); } if (RacialPower == "Lightforged Draenei") { Spellbook.Add("Light's Judgment"); } if (RacialPower == "Bloodelf") { Spellbook.Add("Arcane Torrent"); } Spellbook.Add("Stealth"); Spellbook.Add("Garrote"); Spellbook.Add("Rupture"); Spellbook.Add("Exsanguinate"); Spellbook.Add("Toxic Blade"); Spellbook.Add("Vendetta"); Spellbook.Add("Marked for Death"); Spellbook.Add("Vanish"); Spellbook.Add("Crimson Tempest"); Spellbook.Add("Envenom"); Spellbook.Add("Fan of Knives"); Spellbook.Add("Blindside"); Spellbook.Add("Mutilate"); Buffs.Add("Bloodlust"); Buffs.Add("Heroism"); Buffs.Add("Time Warp"); Buffs.Add("Ancient Hysteria"); Buffs.Add("Netherwinds"); Buffs.Add("Drums of Rage"); Buffs.Add("Lifeblood"); Buffs.Add("Memory of Lucid Dreams"); Buffs.Add("Reckless Force"); Buffs.Add("Guardian of Azeroth"); Buffs.Add("Stealth"); Buffs.Add("Subterfuge"); Buffs.Add("Vanish"); Buffs.Add("Master Assassin"); Buffs.Add("Blindside"); Debuffs.Add("Razor Coral"); Debuffs.Add("Conductive Ink"); Debuffs.Add("Shiver Venom"); Debuffs.Add("Rupture"); Debuffs.Add("Garrote"); Debuffs.Add("Deadly Poison"); Debuffs.Add("Crippling Poison"); Debuffs.Add("Wound Poison"); Debuffs.Add("Vendetta"); Debuffs.Add("Toxic Blade"); Items.Add(TopTrinket); Items.Add(BotTrinket); Items.Add(GetDropDown("Potion Type")); Macros.Add("TopTrink", "/use 13"); Macros.Add("BotTrink", "/use 14"); Macros.Add("potion", "/use " + GetDropDown("Potion Type")); CustomCommands.Add("Potions"); CustomCommands.Add("SaveCooldowns"); CustomCommands.Add("AOE"); // CustomCommands.Add("Prepull"); }
public override void Initialize() { //Aimsharp.DebugMode(); Aimsharp.PrintMessage("Vid Shadow - v 1.0", Color.Blue); Aimsharp.PrintMessage("These macros can be used for manual control:", Color.Blue); Aimsharp.PrintMessage("/xxxxx NoAOE", Color.Blue); Aimsharp.PrintMessage("--Toggles AOE mode on/off.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("/xxxxx Potions", Color.Blue); Aimsharp.PrintMessage("--Toggles using buff potions on/off.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("/xxxxx SaveCooldowns", Color.Blue); Aimsharp.PrintMessage("--Toggles the use of big cooldowns on/off.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("/xxxxx CouncilDotsOff", Color.Blue); Aimsharp.PrintMessage("--Will keep SW:P and VT up on focus and Boss 1-4.", Color.Blue); Aimsharp.PrintMessage("/xxxxx StartCombat", Color.Blue); Aimsharp.PrintMessage("--Will initiate combat on by itself.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("--Replace xxxxx with first 5 letters of your addon, lowercase.", Color.Blue); Aimsharp.Latency = 50; Aimsharp.QuickDelay = 125; Aimsharp.SlowDelay = 250; MajorPower = GetDropDown("Major Power"); TopTrinket = GetDropDown("Top Trinket"); BotTrinket = GetDropDown("Bot Trinket"); FiveLetters = GetString("First 5 Letters of the Addon:"); AmountHP = GetSlider("Don't dot below HP Amount"); PercentHP = GetSlider("Don't dot below HP%"); Spellbook.Add(MajorPower); Spellbook.Add("Agony"); Spellbook.Add("Corruption"); Spellbook.Add("Seed of Corruption"); Spellbook.Add("Unstable Affliction"); Spellbook.Add("Summon Darkglare"); Spellbook.Add("Unending Resolve"); Spellbook.Add("Command Demon"); Spellbook.Add("Malefic Rapture"); Spellbook.Add("Siphon Life"); Spellbook.Add("Vile Taint"); Spellbook.Add("Phantom Singularity"); Spellbook.Add("Shadow Bolt"); Spellbook.Add("Drain Soul"); Spellbook.Add("Haunt"); Spellbook.Add("Dark Soul: Misery"); Spellbook.Add("Unending Resolve"); Items.Add("Healthstone"); Buffs.Add("Bloodlust"); Buffs.Add("Heroism"); Buffs.Add("Time Warp"); Buffs.Add("Ancient Hysteria"); Buffs.Add("Netherwinds"); Buffs.Add("Drums of Rage"); Buffs.Add("Lifeblood"); Buffs.Add("Void Miasma"); Debuffs.Add("Concentrated Flame"); Debuffs.Add("Corruption"); Debuffs.Add("Siphon Life"); Debuffs.Add("Agony"); Debuffs.Add("Unstable Affliction"); Debuffs.Add("Vile Taint"); Debuffs.Add("Phantom Singularity"); Debuffs.Add("Seed of Corruption"); Items.Add(TopTrinket); Items.Add(BotTrinket); Items.Add(GetDropDown("Potion Type")); Macros.Add(TopTrinket, "/use " + TopTrinket); Macros.Add(BotTrinket, "/use " + BotTrinket); Macros.Add("TopTrink", "/use 13"); Macros.Add("BotTrink", "/use 14"); Macros.Add("potion", "/use " + GetDropDown("Potion Type")); Macros.Add("Healthstone", "/use Healthstone"); Macros.Add("crash cursor", "/cast [@cursor] Shadow Crash"); Macros.Add("MassDispel", "/cast [@cursor] Mass Dispel"); Macros.Add("MassDispelOff", "/" + FiveLetters + " MassDispel"); Macros.Add("S2MOff", "/" + FiveLetters + " S2M"); Macros.Add("DispelOff", "/" + FiveLetters + " DispelMagic"); Macros.Add("DispersionOff", "/" + FiveLetters + " Dispersion"); Macros.Add("MindControlOff", "/" + FiveLetters + " MindControl"); Macros.Add("PsychicScreamOff", "/" + FiveLetters + " PsychicScream"); Macros.Add("PsychicHorrorOff", "/" + FiveLetters + " PsychicHorror"); Macros.Add("DispelMagicOff", "/" + FiveLetters + " DispelMagic"); Macros.Add("AgonyFocus", "/cast [@focus] Agony"); Macros.Add("AgonyBoss1", "/cast [@boss1] Agony"); Macros.Add("AgonyBoss2", "/cast [@boss2] Agony"); Macros.Add("AgonyBoss3", "/cast [@boss3] Agony"); Macros.Add("AgonyBoss4", "/cast [@boss4] Agony"); Macros.Add("CorruptionFocus", "/cast [@focus] Corruption"); Macros.Add("CorruptionBoss1", "/cast [@boss1] Corruption"); Macros.Add("CorruptionBoss2", "/cast [@boss2] Corruption"); Macros.Add("CorruptionBoss3", "/cast [@boss3] Corruption"); Macros.Add("CorruptionBoss4", "/cast [@boss4] Corruption"); Macros.Add("SLFocus", "/cast [@focus] Siphon Life"); Macros.Add("SLBoss1", "/cast [@boss1] Siphon Life"); Macros.Add("SLBoss2", "/cast [@boss2] Siphon Life"); Macros.Add("SLBoss3", "/cast [@boss3] Siphon Life"); Macros.Add("SLBoss4", "/cast [@boss4] Siphon Life"); CustomCommands.Add("NoAOE"); CustomCommands.Add("Prepull"); CustomCommands.Add("Potions"); CustomCommands.Add("SaveCooldowns"); CustomCommands.Add("MassDispel"); CustomCommands.Add("JustEssences"); CustomCommands.Add("CouncilDotsOff"); CustomCommands.Add("SavePS"); CustomCommands.Add("StartCombat"); CustomFunctions.Add("UACount", "local UACount = 0\nfor i=1,20 do\nlocal unit = \"nameplate\" .. i\nif UnitExists(unit) then\nif UnitCanAttack(\"player\", unit) then\nfor j = 1, 40 do\nlocal name,_,_,_,_,_,source = UnitDebuff(unit, j)\nif name == \"Unstable Affliction\" and source == \"player\" then\nUACount = UACount + 1\nend\nend\nend\nend\nend\nreturn UACount"); CustomFunctions.Add("CorruptionCount", "local CorruptionCount = 0\nfor i=1,20 do\nlocal unit = \"nameplate\" .. i\nif UnitExists(unit) then\nif UnitCanAttack(\"player\", unit) then\nfor j = 1, 40 do\nlocal name,_,_,_,_,_,source = UnitDebuff(unit, j)\nif name == \"Corruption\" and source == \"player\" then\nCorruptionCount = CorruptionCount + 1\nend\nend\nend\nend\nend\nreturn CorruptionCount"); CustomFunctions.Add("CorruptionTargets", "local CorruptionTargets = 0\nfor i=1,20 do\nlocal unit = \"nameplate\" .. i\nif UnitExists(unit) then\nif UnitCanAttack(\"player\", unit) and UnitHealthMax(unit) > 90000 and UnitHealth(unit) > 60000 then\nCorruptionTargets = CorruptionTargets + 1\nend\nend\nend\nreturn CorruptionTargets"); CustomFunctions.Add("SoCCount", "local SoCCount = 0\nfor i=1,20 do\nlocal unit = \"nameplate\" .. i\nif UnitExists(unit) then\nif UnitCanAttack(\"player\", unit) then\nfor j = 1, 40 do\nlocal name,_,_,_,_,_,source = UnitDebuff(unit, j)\nif name == \"Seed of Corruption\" and source == \"player\" then\nSoCCount = SoCCount + 1\nend\nend\nend\nend\nend\nreturn SoCCount"); CustomFunctions.Add("TargetID", "local TargetID = 0;" + "\nif UnitExists(\"target\") then" + "\nTargetID = tonumber(UnitGUID(\"target\"):match(\"-(%d+)-%x+$\"), 10);" + "\nend" + "\nreturn TargetID;" ); CustomFunctions.Add("Boss1ID", "local Boss1ID = 0;" + "\nif UnitExists(\"boss1\") and UnitCanAttack(\"player\", \"boss1\") then" + "\nBoss1ID = tonumber(UnitGUID(\"boss1\"):match(\"-(%d+)-%x+$\"), 10);" + "\nend" + "\nreturn Boss1ID;" ); CustomFunctions.Add("Boss2ID", "local Boss2ID = 0;" + "\nif UnitExists(\"boss2\") and UnitCanAttack(\"player\", \"boss2\") then" + "\nBoss2ID = tonumber(UnitGUID(\"boss2\"):match(\"-(%d+)-%x+$\"), 10);" + "\nend" + "\nreturn Boss2ID;" ); CustomFunctions.Add("Boss3ID", "local Boss3ID = 0;" + "\nif UnitExists(\"boss3\") and UnitCanAttack(\"player\", \"boss3\") then" + "\nBoss3ID = tonumber(UnitGUID(\"boss3\"):match(\"-(%d+)-%x+$\"), 10);" + "\nend" + "\nreturn Boss3ID;" ); CustomFunctions.Add("Boss4ID", "local Boss4ID = 0;" + "\nif UnitExists(\"boss4\") and UnitCanAttack(\"player\", \"boss4\") then" + "\nBoss4ID = tonumber(UnitGUID(\"boss4\"):match(\"-(%d+)-%x+$\"), 10);" + "\nend" + "\nreturn Boss4ID;" ); }
public override void Initialize() { Aimsharp.PrintMessage("Kyber Vengenace DH Shadowlands - v 2.3", Color.Blue); Aimsharp.PrintMessage("Recommended talents: 1233221", Color.Blue); Aimsharp.PrintMessage("These macros can be used for manual control:", Color.Blue); Aimsharp.PrintMessage("/xxxxx SaveMeta", Color.Blue); Aimsharp.PrintMessage("--Toggles the use of Metamorphosis on/off.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("/xxxxx SaveCovenant", Color.Blue); Aimsharp.PrintMessage("--Toggles the use of Covenant abilities on/off.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("/xxxxx AOE", Color.Blue); Aimsharp.PrintMessage("--Toggles AOE mode on/off.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("/xxxxx Autodisrupt", Color.Blue); Aimsharp.PrintMessage("--Toggles Auto interrupt mode on/off.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("/xxxxx Autoinfernal", Color.Blue); Aimsharp.PrintMessage("--Toggles Auto infernal Strike mode on/off.", Color.Blue); Aimsharp.PrintMessage("will use 1 charge for added dps and save 1 charge for movement.", Color.Purple); Aimsharp.PrintMessage("--Replace xxxxx with first 5 letters of your addon, lowercase.", Color.Blue); Aimsharp.Latency = 50; Aimsharp.QuickDelay = 125; Aimsharp.SlowDelay = 250; //Main Skills foreach (string skill in VengeanceSpells) { Spellbook.Add(skill); } //Covenant foreach (string Spell in CovenantAbilities) { Spellbook.Add(Spell); } //Buffs foreach (string buff in VengeanceBuffs) { Buffs.Add(buff); } //Debuffs foreach (string debuff in VengeanceDebuffs) { Debuffs.Add(debuff); } foreach (string Buff in BloodlustEffects) { Buffs.Add(Buff); } Items.Add(GetDropDown("Potion name:")); Macros.Add("DPS Pot", "/use " + GetDropDown("Potion name:")); Macros.Add("TopTrinket", "/use 13"); Macros.Add("BottomTrinket", "/use 14"); Macros.Add("sigil self", "/cast [@player] Sigil of Flame"); Macros.Add("infernal self", "/cast [@player] Infernal Strike"); Macros.Add("Elysian self", "/cast [@player] Elysian Decree"); CustomCommands.Add("SaveMeta"); CustomCommands.Add("AOE"); CustomCommands.Add("Autoinfernal"); CustomCommands.Add("Autodisrupt"); CustomCommands.Add("SaveCovenant"); CustomFunctions.Add("GetCovenant", "local spell = 0 local i = 1 while true do local spellName, spellSub = GetSpellBookItemName(i, BOOKTYPE_SPELL) if not spellName then do break end end if spellName == 'Fodder to the Flame' then spell = 4 elseif spellName == 'The Hunt' then spell = 3 elseif spellName == 'Sinful Brand' then spell = 2 elseif spellName == 'Elysian Decree' then spell = 1 end i = i + 1 end return spell"); CustomFunctions.Add("GetLegendarySpellID", "local power = 0 for i=1,15,1 do local xcs = ItemLocation:CreateFromEquipmentSlot(i) if(C_Item.DoesItemExist(xcs)) then if(C_LegendaryCrafting.IsRuneforgeLegendary(xcs)) then local id = C_LegendaryCrafting.GetRuneforgeLegendaryComponentInfo(xcs)[\"powerID\"] power = C_LegendaryCrafting.GetRuneforgePowerInfo(id)[\"descriptionSpellID\"] end end end return power"); }
public override void Initialize() { //Aimsharp.DebugMode(); Aimsharp.PrintMessage("Perfect Simcraft Series: Windwalker Monk - v 1.0", Color.Blue); Aimsharp.PrintMessage("These macros can be used for manual control:", Color.Blue); Aimsharp.PrintMessage("/xxxxx Potions", Color.Blue); Aimsharp.PrintMessage("--Toggles using buff potions on/off.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("/xxxxx SaveCooldowns", Color.Blue); Aimsharp.PrintMessage("--Toggles the use of big cooldowns on/off.", Color.Blue); Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("/xxxxx AOE", Color.Blue); Aimsharp.PrintMessage("--Toggles AOE mode on/off.", Color.Blue); //Aimsharp.PrintMessage(" "); // Aimsharp.PrintMessage("/xxxxx Prepull 10", Color.Blue); // Aimsharp.PrintMessage("--Starts the prepull actions.", Color.Blue); // Aimsharp.PrintMessage(" "); Aimsharp.PrintMessage("--Replace xxxxx with first 5 letters of your addon, lowercase.", Color.Blue); Aimsharp.Latency = 50; Aimsharp.QuickDelay = 125; Aimsharp.SlowDelay = 250; MajorPower = GetDropDown("Major Power"); TopTrinket = GetDropDown("Top Trinket"); BotTrinket = GetDropDown("Bot Trinket"); RacialPower = GetDropDown("Racial Power"); Spellbook.Add(MajorPower); if (RacialPower == "Orc") { Spellbook.Add("Blood Fury"); } if (RacialPower == "Troll") { Spellbook.Add("Berserking"); } if (RacialPower == "Dark Iron Dwarf") { Spellbook.Add("Fireblood"); } if (RacialPower == "Mag'har Orc") { Spellbook.Add("Ancestral Call"); } if (RacialPower == "Lightforged Draenei") { Spellbook.Add("Light's Judgment"); } if (RacialPower == "Bloodelf") { Spellbook.Add("Arcane Torrent"); } Spellbook.Add("Serenity"); Spellbook.Add("Touch of Death"); Spellbook.Add("Rising Sun Kick"); Spellbook.Add("Fists of Fury"); Spellbook.Add("Spinning Crane Kick"); Spellbook.Add("Fist of the White Tiger"); Spellbook.Add("Blackout Kick"); Spellbook.Add("Tiger Palm"); Spellbook.Add("Chi Wave"); Spellbook.Add("Invoke Xuen, the White Tiger"); Spellbook.Add("Storm, Earth, and Fire"); Spellbook.Add("Whirling Dragon Punch"); Spellbook.Add("Rushing Jade Wind"); Spellbook.Add("Energizing Elixir"); Spellbook.Add("Chi Burst"); Spellbook.Add("Flying Serpent Kick"); Buffs.Add("Bloodlust"); Buffs.Add("Heroism"); Buffs.Add("Time Warp"); Buffs.Add("Ancient Hysteria"); Buffs.Add("Netherwinds"); Buffs.Add("Drums of Rage"); Buffs.Add("Lifeblood"); Buffs.Add("Memory of Lucid Dreams"); Buffs.Add("Reckless Force"); Buffs.Add("Guardian of Azeroth"); Buffs.Add("Serenity"); Buffs.Add("Storm, Earth, and Fire"); Buffs.Add("Rushing Jade Wind"); Buffs.Add("Energizing Elixir"); Buffs.Add("Dance of Chi-Ji"); Buffs.Add("Blackout Kick!"); Debuffs.Add("Razor Coral"); Debuffs.Add("Conductive Ink"); Debuffs.Add("Shiver Venom"); Debuffs.Add("Touch of Death"); Debuffs.Add("Mark of the Crane"); Items.Add(TopTrinket); Items.Add(BotTrinket); Items.Add(GetDropDown("Potion Type")); Macros.Add(TopTrinket, "/use " + TopTrinket); Macros.Add(BotTrinket, "/use " + BotTrinket); Macros.Add("TopTrink", "/use 13"); Macros.Add("BotTrink", "/use 14"); Macros.Add("potion", "/use " + GetDropDown("Potion Type")); CustomCommands.Add("Potions"); CustomCommands.Add("SaveCooldowns"); CustomCommands.Add("AOE"); // CustomCommands.Add("Prepull"); }
public static void GenerateMacros() { string macroName; // // Create macro with several actions bound to CTRL-Z // Macro macro = new Macro(macroName = "delayed-action", TIME_DELAY_ACTION) // .AddAction(new ActionSound(TIME_DELAY_GLOBAL_MS, "ahha.wav")) .AddAction(new ActionSound(TIME_DELAY_GLOBAL_MS, "fail.wav")) .AddAction(new ActionKey(TIME_DELAY_GLOBAL_MS, VirtualKeyCode.RETURN, ButtonStates.Both)) ; Macros.Add(macroName, macro); // Setup trigger TriggerKeyboard trigger = new TriggerKeyboard(Keys.Z, macroName); trigger.AddModifier(Keys.LControlKey); Tube.Triggers.Add(trigger); // // Create and bind a typing macro (string of text) // macro = new Macro(macroName = "typing-stuff", 2000); macro.AddAction( new ActionTyping( // Thinking of Maud you forget everything else "Lorem ipsum dollar sit amet, Cogito Maud obliviscaris aliorum.", 10, // delay MS 10)); // dwell time MS Macros.Add(macroName, macro); trigger = new TriggerKeyboard(Keys.C, macroName); trigger.AddModifier(Keys.LControlKey); trigger.AddModifier(Keys.LMenu); Tube.Triggers.Add(trigger); // // Create a trigger that alternates between macros - simple ripple fire example // macro = new Macro(macroName = "sound-servomotor", 0); macro.AddAction(new ActionSound(TIME_DELAY_GLOBAL_MS, "sound_servomotor.wav")); Macros.Add(macroName, macro); macro = new Macro(macroName = "sound-ahha", 0); macro.AddAction(new ActionSound(TIME_DELAY_GLOBAL_MS, "ahha.wav")); Macros.Add(macroName, macro); trigger = new TriggerKeyboard(Keys.S, new List <string> { "sound-servomotor", "sound-ahha" }); trigger.AddModifier(Keys.LControlKey); Tube.Triggers.Add(trigger); // Makes mouse wheel noisy - mouse wheel trigger example TriggerMouseWheel triggerMouseWheel = new TriggerMouseWheel(WheelMoves.Up, "sound-servomotor", false); Tube.Triggers.Add(triggerMouseWheel); triggerMouseWheel = new TriggerMouseWheel(WheelMoves.Down, "sound-ahha", false); Tube.Triggers.Add(triggerMouseWheel); // // Drum kit! // Schedule repeating sound every N MS // (string soundMacroName, string soundFile, string repeatMacroName, string stopMacroName, Keys triggerKey)[] macroTable =