Closed syrifgit closed 2 weeks ago
/hekili enable
/hekili disable
/hekili enable 123
/hekili disable extraArgument
/hekili enable "extra text"
/hekili stress
/hekili stress 123
/hekili stress extraArgument
/hekili skeleton
/hek prio
/hekili priority
/hekili priority priorityName
/hekili priority "complex priority name"
/hekili move
/hekili unlock
/hekili lock
/hekili move extraArgument
/hekili unlock 123
/hekili lock "extra text"
/hek set cooldowns
/hek set cooldowns on
/hek set cooldowns off
/hek set cooldowns separate
/hek set cooldowns separate on
/hek set cooldowns separate off
/hek set cooldowns override
/hek set cooldowns override on
/hek set cooldowns override off
/hek set cooldowns infusion
/hek set cooldowns infusion on
/hek set cooldowns infusion off
/hek set cds pi
/hek set cds pi on
/hek set cds pi off
/hek set pot
/hek set pot on
/hek set pot off
/hek set potions
/hek set potions on
/hek set potions off
/hek set potions override
/hek set potions override on
/hek set potions override off
/hek set interrupts
/hek set interrupts on
/hek set interrupts off
/hek set interrupts separate
/hek set interrupts separate on
/hek set interrupts separate off
/hek set interrupts filterCasts
/hek set interrupts filterCasts on
/hek set interrupts filterCasts off
/hek set defensives
/hek set defensives on
/hek set defensives off
/hek set defensives separate
/hek set defensives separate on
/hek set defensives separate off
/hek set custom1
/hek set custom1 on
/hek set custom1 off
/hek set custom2
/hek set custom2 on
/hek set custom2 off
/hek set funnel
/hek set funnel on
/hek set funnel off
/hek set target_swap on
/hek set target_swap off
/hek set target_swap
/hek set target_swap 5
/hek set target_swap 3
/hek set swap on
/hek set swap off
/hek set swap
/hek set swap 10
/hek set swap 7
/hek set cycle on
/hek set cycle off
/hek set cycle
/hek set cycle 2
/hek set cycle 1
/hek set mode automatic
/hek set mode single
/hek set mode aoe
/hek set mode dual
/hek set mode reactive
/hekili profile
/hekili profile profileName
(replace these with examples from your own spec, this is Beast Mastery)
/hek set spec barbed_shot_grace_period 0
/hek set spec barbed_shot_grace_period 1
/hek set spec barbed_shot_grace_period 2
/hek set spec pet_healing 0
/hek set spec pet_healing 50
/hek set spec pet_healing 100
/hek set spec avoid_bw_overlap
/hek set spec avoid_bw_overlap on
/hek set spec avoid_bw_overlap off
/hek set spec mark_any
/hek set spec mark_any on
/hek set spec mark_any off
/hek set spec check_pet_range
/hek set spec check_pet_range on
/hek set spec check_pet_range off
/hekili skeleton extraArgument
/hekili skeleton 123
/hekili priority invalidPriorityName
/hekili priority 123
/hekili priority ""
/hek set cooldowns separate z
/hek set cooldowns override boop
/hek set cooldowns infusion foo
/hek set cooldowns randomtoggle
/hek set cooldowns infusion 0
/hek set potions override z
/hek set potions randomtoggle
/hek set potions override foo
/hek set interrupts separate z
/hek set interrupts filterCasts foo
/hek set interrupts randomtoggle
/hek set defensives separate z
/hek set defensives randomtoggle
/hek set defensives separate foo
/hek set custom1 randomtoggle
/hek set custom1 foo
/hek set custom2 randomtoggle
/hek set custom2 foo
/hek set funnel randomtoggle
/hek set funnel foo
/hek set target_swap abc
/hek set target_swap -5
/hek set target_swap 0
/hek set swap toggle
/hek set swap -1
/hek set swap abcdef
/hek set cycle xyz
/hek set cycle -10
/hekili profile invalidProfileName
/hekili profile 12345
/hekili profile ""
(replace these with examples from your own spec, this is Beast Mastery)
/hek set spec barbed_shot_grace_period -1
/hek set spec barbed_shot_grace_period 3
/hek set spec barbed_shot_grace_period z
/hek set spec pet_healing -10
/hek set spec pet_healing 110
/hek set spec pet_healing z
/hek set spec avoid_bw_overlap z
/hek set spec mark_any foo
/hek set spec check_pet_range bar
/hek set spec pet_healing
/hek set spec barbed_shot_grace_period
Full reference page for macros: https://github.com/Hekili/hekili/wiki/Hekili,-Macros-and-You
Generalized chat command handling
Goals
self:ForceUpdate("CLI_TOGGLE")
andself:UpdateDisplayVisibility()
Fixes
GetDefaults()
so that they are always accessible by the chat command handlerCountPriorities()
less local to re-use itOverall Design Notes
/hek
or/hekili
)/hek set cooldowns infusion
is a valid command/hek set cds pi
is also a valid commandHekili:CmdLine ( input )
is the new function that redirects the input to other functions/hek set
and/hek help
will skip to theHekili:DisplayChatCommandList( list )
functionFunctions
Hekili:HandleSetCommand( args )
/hek set
, such as/hek set mode automatic
/hek set cycle on
/hek set cooldowns separate off
/hek set spec pet_healing 50
(this calls another function)SetMode()
andFireToggle()
functions, which are slightly updated to support more generalized commandsHekili:HandleSpecSetting( specSetting, specValue )
Hekili:DisplayChatCommandList( list )
/hek set
Hekili:HandleSkeletonCommand( input )
Hekili:RunStressTest()
Hekili:HandleProfileCommand( args )
Hekili:HandleEnableDisableCommand( args )
Hekili:HandleMoveCommand( args )
unlock
,lock
,move
Hekili:HandleRecoverCommand()
Hekili:HandlePriorityCommand( args )
default
as a parameter which swaps you back to the built-in pack (if it hasn't been deleted)Test cases
I will provide a large swath of test cases in the comments
.... ....
fixes #3962 :)