@@ -77,11 +77,22 @@ public static void Build(DsBuildRequest buildRequest, bool dry = false)
7777 events . Add ( new ( InputType . KeyPress , 0 , 0 , 0x57 , 100 ) ) ;
7878 foreach ( var upgrade in buildRequest . Upgrades )
7979 {
80- var upgradeChar = build . GetAbilityChar ( upgrade . Upgrade . Name ) ;
81- if ( upgradeChar is not null
82- && User32Wrapper . TryMapCharToKey ( upgradeChar . Value , out var code , out var shift ) )
80+ var buildOption = build . GetAbilityBuildOption ( upgrade . Upgrade . Name ) ;
81+ if ( buildOption is not null
82+ && User32Wrapper . TryMapCharToKey ( buildOption . Key , out var code , out var shift ) )
8383 {
84- events . Add ( new InputEvent ( InputType . KeyPress , 0 , 0 , code , 200 ) ) ;
84+ if ( buildOption . IsAbility )
85+ {
86+ events . Add ( new ( InputType . KeyPress , 0 , 0 , workerKey , 100 ) ) ;
87+ events . Add ( new ( InputType . KeyPress , 0 , 0 , 0x51 , 100 ) ) ;
88+ events . Add ( new ( InputType . KeyPress , 0 , 0 , code , 100 ) ) ;
89+ events . Add ( new ( InputType . KeyPress , 0 , 0 , workerKey , 100 ) ) ;
90+ events . Add ( new ( InputType . KeyPress , 0 , 0 , 0x57 , 100 ) ) ;
91+ }
92+ else
93+ {
94+ events . Add ( new InputEvent ( InputType . KeyPress , 0 , 0 , code , 200 ) ) ;
95+ }
8596 upgrades . Remove ( upgrade ) ;
8697 }
8798 }
0 commit comments