; SUNWUKOTRON v1.0

; by /u/monkeyking7000

;

; Lazy? See >>> QUICK START <<<

;

; Control freak? See >>> CUSTOMIZING <<<

;

; >>> WHAT IS THIS EVEN <<<

;

; An autohotkey script that brings the SWK monk experience roughly in line with other high GR viable

; classes/builds. Even with the help of this script, the player is still responsible for managing

; positioning, dashing strike charges/buff and epiphany CD. Also, RSI is real.

;

; >>> QUICK START <<<

; Character/Game setup:

;

; Generator ==> Left Mouse

; Breath of Heaven ==> 2

; Sweeping Wind ==> 3

; Mantra ==> 4

; Left Shift ==> Force Stand Still

;

; Toggle Sunwukotron with [F1]

; Engage by holding [Left Shift] and [Left Mouse] -- Sunwukotron automatically spams BoH, SW, Mantra 5-6x per second

;

; >>> CUSTOMIZING <<<

;

; EnableOverlay -- If True, show overlay when you toggle Sunwukotron on/off (Default True)

EnableOverlay := True

; ToggleKey -- Key that toggles Sunwukotron on/off (Default "*F1", read:F1 key with any modifier)

ToggleKey := "*F1"

; Keys -- Key presses to send with LShift + LMB held (Default "234")

Keys := "234"

; SendRightClick -- If True, send right click in the loop as well (Default False)

SendRightClick := False

; LoopIntervalMin -- Minimum time in milliseconds between loops (Default 166)

; NOTE: Strongly recommended you do not set this below 100

LoopIntervalMin := 166

; LoopIntervalMax -- Maximum time in milliseconds between loops (Default 200)

LoopIntervalMax := 200

; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

; !!!!!! DO NOT CHANGE ANYTHING BELOW THIS LINE !!!!!

; !!!!!! CHANGE VALUES IN CUSTOMIZING SECTION ABOVE !!!!!

; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

#ifwinactive ahk_class D3 Main Window Class

_RunFlag := False

_EnableSafety := False

HotKey , %ToggleKey% , ToggleSafety

ToggleSafety:

_EnableSafety := !_EnableSafety

If EnableOverlay {

SplashTextOff

SetTimer DismissSplash , Off

If _EnableSafety

_Msg := "Sunwukotron Enabled"

Else

_Msg := "Sunwukotron Disabled"

SplashTextOn , 400 , 0 , %_Msg%

WinMove , %_Msg% , , 10 , 10

SetTimer DismissSplash , 500

}

Return

DismissSplash:

SplashTextOff

~ LShift ::

If _EnableSafety

{

_RunFlag = 1

SetTimer KeyLoop , 100

}

Return

~ LShift Up ::

_RunFlag = 0

SetTimer KeyLoop , Off

Return

KeyLoop:

While _RunFlag

{

If GetKeyState ( "LButton" , "P" )

{

Send %Keys%

If SendRightClick

Click Right

}

Random , random , %LoopIntervalMin% , %LoopIntervalMax%

Sleep %random%

}

Return