diff --git a/stratagems.ahk b/stratagems.ahk index 770c5f4..b7b1c66 100644 --- a/stratagems.ahk +++ b/stratagems.ahk @@ -2,72 +2,10 @@ SendMode "Event" SetKeyDelay 100, 50 -; Stratagem sequence definition -{ - stratagems := Map() - stratagems.Default := "" - stratagems["Reinforce"] := "wsdaw" - stratagems["SOSBeacon"] := "wsdw" - stratagems["Resupply"] := "sswd" - stratagems["EagleRearm"] := "wwawd" - stratagems["Hellbomb"] := "swaswdsw" - stratagems["SSSDDelivery"] := "sssww" - stratagems["UploadData"] := "adwww" - stratagems["OrbitalIlluminationFlare"] := "ddaa" - stratagems["MachineGun"] := "saswd" - stratagems["AntiMaterielRifle"] := "sadws" - stratagems["Stalwart"] := "" - stratagems["ExpendableAntiTank"] := "ssawd" - stratagems["RecoillessRifle"] := "sadda" - stratagems["Flamethrower"] := "" - stratagems["Autocannon"] := "saswwd" - stratagems["RailGun"] := "sdswad" - stratagems["Spear"] := "" - stratagems["GrenadeLauncher"] := "" - stratagems["LaserCannon"] := "" - stratagems["ArcThrower"] := "" - stratagems["JumpPack"] := "swwsw" - stratagems["SupplyPack"] := "" - stratagems["GuardDog"] := "swawds" - stratagems["GuardDogRover"] := "" - stratagems["BallisticShieldBackpack"] := "" - stratagems["ShieldGeneratorPack"] := "swadad" - stratagems["OrbitalGatlingBarrage"] := "dsaww" - stratagems["OrbitalAirburstStrike"] := "ddd" - stratagems["Orbital120MMHEBarrage"] := "ddsads" - stratagems["Orbital380MMHEBarrage"] := "dswwass" - stratagems["OrbitalWalkingBarrage"] := "" - stratagems["OrbitalLaser"] := "dswds" - stratagems["OrbitalRailcannonStrike"] := "" - stratagems["OrbitalPrecisionStrike"] := "ddw" - stratagems["OrbitalGasStrike"] := "" - stratagems["OrbitalEMSStrike"] := "" - stratagems["OrbitalSmokeStrike"] := "" - stratagems["EagleStrafingRun"] := "wdd" - stratagems["EagleAirstrike"] := "wdsd" - stratagems["EagleClusterBomb"] := "wdssd" - stratagems["EagleNapalmAirstrike"] := "" - stratagems["EagleSmokeStrike"] := "" - stratagems["Eagle110MMRocketPods"] := "wdwa" - stratagems["Eagle500KgBomb"] := "wdsss" - stratagems["AntiPersonnelMinefield"] := "sawd" - stratagems["IncendiaryMines"] := "" - stratagems["HMGEmplacement"] := "swadda" - stratagems["ShieldGeneratorRelay"] := "" - stratagems["TeslaTower"] := "" - stratagems["MachineGunSentry"] := "swddw" - stratagems["GatlingSentry"] := "swda" - stratagems["MortarSentry"] := "swdds" - stratagems["AutocannonSentry"] := "" - stratagems["RocketSentry"] := "swdda" - stratagems["EMSMortarSentry"] := "" - stratagems["SEAFArtillery"] := "dwws" -} - sendStratagem(keyname) { BlockInput "On" - Send "{LControl down}" . stratagems[getValue("HOTKEYS", keyname)] . "{LControl up}" - ; Send stratagems[getValue("HOTKEYS", keyname)] + ; Send "{LControl down}" . getStratagem(getValue("HOTKEYS", keyname)) . "{LControl up}" + Send getStratagem(getValue("HOTKEYS", keyname)) BlockInput "Off" } @@ -104,22 +42,11 @@ sendStratagem(keyname) { FileAppend("`n", configPath) - for key, value in stratagems { - setValue("STRATAGEMS", key, value) - } - - FileAppend("`n", configPath) - initValue("WINDOW", "X", 0) initValue("WINDOW", "Y", 0) initValue("WINDOW", "AlwaysOnTop", "+") } - ; Update stratagems sequences - for key, value in stratagems { - setValue("STRATAGEMS", key, value) - } - ; Config functions getValue(section, key, default := "") { return IniRead(configPath, section, key, default) @@ -133,13 +60,17 @@ sendStratagem(keyname) { initValue(section, key, default := "Blank") { return setValue(section, key, getValue(section, key, default)) } + + getStratagem(name) { + return IniRead(A_ScriptDir . "\stratagems.const", "STRATAGEMS", name, "") + } } ; Load hotkeys loop parse, IniRead(configPath, "HOTKEYS"), "`n" { hotkeyPair := StrSplit(A_LoopField, "=") - HotIfWinactive("HELLDIVERS™ 2") + ; HotIfWinactive("HELLDIVERS™ 2") Hotkey(hotkeyPair[1], sendStratagem) } diff --git a/stratagems.const b/stratagems.const new file mode 100644 index 0000000..4d98a86 --- /dev/null +++ b/stratagems.const @@ -0,0 +1,57 @@ +[STRATAGEMS] +AntiMaterielRifle=sadws +AntiPersonnelMinefield=sawd +ArcThrower= +Autocannon=saswwd +AutocannonSentry= +BallisticShieldBackpack= +EMSMortarSentry= +Eagle110MMRocketPods=wdwa +Eagle500KgBomb=wdsss +EagleAirstrike=wdsd +EagleClusterBomb=wdssd +EagleNapalmAirstrike= +EagleRearm=wwawd +EagleSmokeStrike= +EagleStrafingRun=wdd +ExpendableAntiTank=ssawd +Flamethrower= +GatlingSentry=swda +GrenadeLauncher= +GuardDog=swawds +GuardDogRover= +HMGEmplacement=swadda +Hellbomb=swaswdsw +IncendiaryMines= +JumpPack=swwsw +LaserCannon= +MachineGun=saswd +MachineGunSentry=swddw +MortarSentry=swdds +Orbital120MMHEBarrage=ddsads +Orbital380MMHEBarrage=dswwass +OrbitalAirburstStrike=ddd +OrbitalEMSStrike= +OrbitalGasStrike= +OrbitalGatlingBarrage=dsaww +OrbitalIlluminationFlare=ddaa +OrbitalLaser=dswds +OrbitalPrecisionStrike=ddw +OrbitalRailcannonStrike= +OrbitalSmokeStrike= +OrbitalWalkingBarrage= +RailGun=sdswad +RecoillessRifle=sadda +Reinforce=wsdaw +Resupply=sswd +RocketSentry=swdda +SEAFArtillery=dwws +SOSBeacon=wsdw +SSSDDelivery=sssww +ShieldGeneratorPack=swadad +ShieldGeneratorRelay= +Spear= +Stalwart= +SupplyPack= +TeslaTower= +UploadData=adwww \ No newline at end of file