FakeDeck/FakeeDeck/ButtonType/HelldiversTwoMacro.cs

78 lines
3.7 KiB
C#
Raw Normal View History

2024-09-09 22:38:22 +00:00
using FakeeDeck.Class;
using System;
2024-09-06 14:25:04 +00:00
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
2024-09-06 14:47:50 +00:00
using static System.Net.WebRequestMethods;
2024-09-06 14:25:04 +00:00
namespace FakeeDeck.ButtonType
{
2024-09-09 18:48:57 +00:00
class HelldiversTwoMacro : Button
2024-09-06 14:25:04 +00:00
{
2024-09-06 14:47:50 +00:00
//https://helldivers.wiki.gg/wiki/Stratagems
//https://helldivers.fandom.com/wiki/Stratagems_(Helldivers_2)
2024-09-06 14:25:04 +00:00
public static Dictionary<string, uint[]> stratogems = new Dictionary<string, uint[]>
{
2024-09-09 22:38:22 +00:00
{ "reinforce", new uint[] { KeyboardCode.NUMPAD5, 0x68, 0x62, 0x66, 0x64, 0x68}},
2024-09-06 14:25:04 +00:00
{ "resupply", new uint[] { 0x65, 0x62, 0x62, 0x68, 0x66 }},
2024-09-06 14:47:50 +00:00
//Patriotic Administration Center
{ "anti-material", new uint[] { 0x65, 0x62, 0x64, 0x66, 0x68, 0x62}},
{ "flamethrower", new uint[] { 0x65, 0x62, 0x64, 0x68, 0x62, 0x68}},
{ "autocannon", new uint[] { 0x65, 0x62, 0x64, 0x62, 0x68, 0x68, 0x66}},
{ "grenade-launcher", new uint[] { 0x65, 0x62, 0x64, 0x68, 0x64, 0x62}},
//Orbital Cannons
{ "orbital-precision-strike", new uint[] { 0x65, 0x66, 0x66, 0x68}},
//Robotics Workshop
2024-09-06 14:25:04 +00:00
{ "mortar-sentry", new uint[] { 0x65, 0x62, 0x68, 0x66, 0x62}},
{ "gatling-sentry", new uint[] { 0x65, 0x62, 0x68, 0x66, 0x64}},
2024-09-06 14:47:50 +00:00
//Hangar
{ "rocket-pods", new uint[] { 0x65, 0x68, 0x66, 0x68, 0x64}},
{ "bomb", new uint[] { 0x65, 0x68, 0x66, 0x68, 0x64}},
2024-09-06 14:25:04 +00:00
};
public static Dictionary<string, string> stratogemsIcons = new Dictionary<string, string>
{
{ "reinforce", "https://static.wikia.nocookie.net/helldivers_gamepedia/images/5/5a/HD2_Reinforce.png"},
{ "resupply", "https://static.wikia.nocookie.net/helldivers_gamepedia/images/7/72/HD2_Resupply.png"},
{ "anti-material", "https://static.wikia.nocookie.net/helldivers_gamepedia/images/c/c3/APW-1_Anti-Materiel_Rifle_Icon.png"},
2024-09-06 14:47:50 +00:00
{ "flamethrower", "https://static.wikia.nocookie.net/helldivers_gamepedia/images/c/cc/FLAM-40_Flamethrower_Icon.png"},
{ "autocannon", "https://static.wikia.nocookie.net/helldivers_gamepedia/images/c/c6/AC-8_Autocannon_Icon.png"},
{ "grenade-launcher","https://static.wikia.nocookie.net/helldivers_gamepedia/images/6/66/GL-21_Grenade_Launcher_Icon.png"},
{ "orbital-precision-strike", "https://static.wikia.nocookie.net/helldivers_gamepedia/images/4/47/Orbital_Precision_Strike_Icon.png"},
2024-09-06 14:25:04 +00:00
{ "mortar-sentry", "https://static.wikia.nocookie.net/helldivers_gamepedia/images/1/1d/A_M-12_Mortar_Sentry_Icon.png"},
{ "gatling-sentry","https://static.wikia.nocookie.net/helldivers_gamepedia/images/4/48/A_G-16_Gatling_Sentry_Icon.png"},
2024-09-06 14:47:50 +00:00
{ "rocket-pods","https://static.wikia.nocookie.net/helldivers_gamepedia/images/e/e3/Eagle_110MM_Rocket_Pods_Icon.png"},
{ "bomb","https://static.wikia.nocookie.net/helldivers_gamepedia/images/5/5a/Eagle_500KG_Bomb_Icon.png"},
2024-09-06 14:25:04 +00:00
};
2024-09-06 14:56:06 +00:00
public static string getButton(string Key)
{
2024-09-09 20:56:27 +00:00
return getButtonHTML(null, stratogemsIcons[Key].ToString(), Key, "button\\HelldiversTwoMacro", new Dictionary<string, string>() { { "stratogem", Key } });
2024-09-06 14:56:06 +00:00
}
2024-09-09 18:48:57 +00:00
public static bool invokeAction(string stratogem)
2024-09-06 14:56:06 +00:00
{
2024-09-09 18:48:57 +00:00
foreach (var key in stratogems[stratogem])
{
KeyboardMacro.SendKey(key);
Console.WriteLine(key);
}
return true;
2024-09-06 14:56:06 +00:00
}
2024-09-09 18:48:57 +00:00
private static string FirstLetterToUpper(string str)
2024-09-06 14:56:06 +00:00
{
if (str == null)
return null;
if (str.Length > 1)
return char.ToUpper(str[0]) + str.Substring(1);
return str.ToUpper();
}
2024-09-06 14:25:04 +00:00
}
}