local Tinkr, _Bastion = ... ---@type Bastion local Bastion = _Bastion local BrewModule = Bastion.Module:New('brewmaster') local Player = Bastion.UnitManager:Get('player') local Target = Bastion.UnitManager:Get('target') local None = Bastion.UnitManager:Get('none') local AutoAttack = Bastion.SpellBook:GetSpell(6603) ---@return boolean local function CombatRotation() -- Attack the target is auto attack isnt active. if AutoAttack:IsKnownAndUsable() and not IsCurrentSpell(AutoAttack:GetID()) and Player:InMelee(Target) and not Target:IsDead() then AutoAttack:Cast(Target) end return false end ---@return boolean local function OutOfCombatRotation() return false end local isRunning = false BrewModule:Sync(function() if not isRunning then Bastion:Print('Brewmaster Started') isRunning = true end if not Player:IsAlive() or Player:IsMounted() then return false end if Player:IsAffectingCombat() then -- Combat Rotation return CombatRotation() else -- Out Of Combat Rotation return OutOfCombatRotation() end end) Bastion:Register(BrewModule)