Skip to content

Commit 5cb75c4

Browse files
committed
More fixes
1 parent 00ba60b commit 5cb75c4

File tree

4 files changed

+44
-23
lines changed

4 files changed

+44
-23
lines changed

Rotations/Druid/Feral/FeralCuteOne.lua

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1140,8 +1140,8 @@ actionList.SingleTarget = function()
11401140
-- * Nature's Swiftness
11411141
-- # Use Nature's Swiftness for an instant Healing Touch when no predatory swiftness is available to proc Dream of Cenarius.
11421142
-- natures_swiftness,if=talent.dream_of_cenarius.enabled&buff.predatory_swiftness.down&buff.dream_of_cenarius.down
1143-
if cast.able.naturesSwiftness() and talent.dreamOfCenarious
1144-
and not buff.predatorySwiftness.exists() and not buff.dreamOfCenarius.exists() and comboPoints(units.dyn5) >= 4
1143+
if cast.able.naturesSwiftness() and talent.dreamOfCenarius and not buff.dreamOfCenarius.exists()
1144+
and not buff.predatorySwiftness.exists() and comboPoints(units.dyn5) >= 4
11451145
then
11461146
if cast.naturesSwiftness() then
11471147
ui.debug("Casting Nature's Swiftness [Single]")
@@ -1151,7 +1151,7 @@ actionList.SingleTarget = function()
11511151
-- * Healing Touch
11521152
-- # Proc Dream of Cenarius at 4+ CP or when PS is about to expire.
11531153
-- healing_touch,if=talent.dream_of_cenarius.enabled&buff.predatory_swiftness.up&buff.dream_of_cenarius.down&(buff.predatory_swiftness.remains<1.5|combo_points>=4)
1154-
if cast.able.healingTouch() and talent.dreamOfCenarious and not buff.dreamOfCenarius.exists()
1154+
if cast.able.healingTouch() and talent.dreamOfCenarius and not buff.dreamOfCenarius.exists()
11551155
and ((buff.predatorySwiftness.exists() and (buff.predatorySwiftness.remains() < 1.5 or comboPoints(units.dyn5) >= 4))
11561156
or (buff.naturesSwiftness.exists() and comboPoints(units.dyn5) >= 4))
11571157
then
@@ -1598,8 +1598,6 @@ local function runRotation()
15981598
end
15991599
end
16001600

1601-
-- ui.chatOverlay("AOE: "..tostring(ui.useAOE(8,5)).." - Count: "..#enemies.yards8)
1602-
16031601
---------------------
16041602
--- Begin Profile ---
16051603
---------------------

Rotations/Monk/Windwalker/WindwalkerCuteOne.lua

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -505,16 +505,16 @@ actionList.AOE = function()
505505
end
506506
-- * Spinning Crane Kick
507507
-- spinning_crane_kick,if=!talent.rushing_jade_wind.enabled
508-
-- * Healing Sphere
509-
if ui.checked("Healing Sphere") and cast.able.healingSphere("player","ground",0)
510-
and (unit.hp() <= ui.value("Healing Sphere") or (not unit.inCombat() and unit.hp() < 80)) and energy() >= 40
511-
then
512-
if cast.healingSphere("player","ground",0) then
513-
ui.debug("Casting Healing Sphere [Defensive]")
514-
return true
515-
end
516-
end
517508
if cast.able.spinningCraneKick("player", "aoe", 1, 8) and not talent.rushingJadeWind then
509+
-- * Healing Sphere - instead if HP low
510+
if ui.checked("Healing Sphere") and cast.able.healingSphere("player","ground",0)
511+
and unit.hp() <= ui.value("Healing Sphere") and energy() >= 40
512+
then
513+
if cast.healingSphere("player","ground",0) then
514+
ui.debug("Casting Healing Sphere [AOE]")
515+
return true
516+
end
517+
end
518518
if cast.spinningCraneKick("player", "aoe", 1, 8) then
519519
ui.debug("Casting Spinning Crane Kick [AOE]")
520520
return true
@@ -585,6 +585,15 @@ actionList.SingleTarget = function()
585585
-- * Jab
586586
-- jab,if=chi.max-chi>=2
587587
if cast.able.jab() and (chi.max() - chi()) >= 2 then
588+
-- * Healing Sphere - instead if HP low
589+
if ui.checked("Healing Sphere") and cast.able.healingSphere("player","ground",0)
590+
and unit.hp() <= ui.value("Healing Sphere") and energy() >= 40
591+
then
592+
if cast.healingSphere("player","ground",0) then
593+
ui.debug("Casting Healing Sphere [Single Target]")
594+
return true
595+
end
596+
end
588597
if cast.jab() then
589598
ui.debug("Casting Jab [Single Target]")
590599
return true

System/Lists/Spells.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -866,7 +866,7 @@ br.lists.spells = {
866866
berserk = 106951,
867867
maim = 22570,
868868
-- moonfireCat = 155625,
869-
naturesSwiftness = 16974,
869+
naturesSwiftness = 132158,
870870
pounce = 9005,
871871
ravage = 6785,
872872
removeCorruption = 2782,
@@ -884,7 +884,7 @@ br.lists.spells = {
884884
dreamOfCenarius = 145152,
885885
feralFury = 144865,
886886
incarnation = 102543,
887-
naturesSwiftness = 16974,
887+
naturesSwiftness = 132158,
888888
predatorySwiftness = 69369,
889889
savageRoar = 52610,
890890
survivalInstincts = 61336,

System/engines/Tracker.lua

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ br.engines.tracker = br.engines.tracker or {}
44
local tracker = br.engines.tracker
55
local tracking = false
66
local interactTime
7+
local lastInteractTime = 0
8+
local nextInteractDelay = 0
79

810

911
local function getCastTime(unit)
@@ -74,7 +76,14 @@ local function trackObject(object, isUnit, name, objectid, objectguid, interact)
7476
not br.functions.cast:isUnitCasting("player") and not br.functions.misc:isMoving("player")
7577
and not isInteracting("player") -- Only interact if not already interacting
7678
then
77-
br._G.ObjectInteract(object)
79+
local currentTime = br._G.GetTime()
80+
-- Human-like delay: only interact if enough time has passed since last interaction
81+
if currentTime >= (lastInteractTime + nextInteractDelay) then
82+
br._G.ObjectInteract(object)
83+
lastInteractTime = currentTime
84+
-- Set next delay with variance: 0.3 to 0.8 seconds (random human-like timing)
85+
nextInteractDelay = 0.3 + (br._G.math.random() * 0.5)
86+
end
7887
end
7988
tracking = true
8089
end
@@ -152,18 +161,23 @@ function tracker:objectTracker()
152161
object ~= nil and
153162
objUnit and br.engines.questTracker:isQuestUnit(object) and not br._G.UnitIsTapDenied(object)
154163
then
155-
156-
if object and br.functions.unit:GetObjectExists(object) and (ignoreList[objectid] ~= nil or
157-
(select(2, br._G.CanLootUnit(br._G.UnitGUID(object))) and br.functions.misc:getItemGlow(object))) then
158-
track = true
159-
else
160-
interact = false
164+
-- Quest units should be interactable by default (for rescue NPCs, freeing prisoners, etc.)
165+
-- Only disable interaction for hostile alive units that aren't meant to be interacted with
166+
if object and br.functions.unit:GetObjectExists(object) then
167+
-- Check if it's a hostile unit that's alive - don't interact with those
168+
-- if not br.functions.unit:GetUnitIsFriend("player", object) and not br.functions.unit:GetUnitIsDeadOrGhost(object) then
169+
-- interact = false
170+
-- else
171+
-- Friendly units, dead units with loot, or units in ignore list should be interactable
172+
interact = true
173+
-- end
161174
track = true
162175
end
163176
end
164177
if (br.functions.misc:getOptionValue("Quest Tracker") == 2 or br.functions.misc:getOptionValue("Quest Tracker") == 3)
165178
and not objUnit and br.engines.questTracker:isQuestObject(object)
166179
then
180+
interact = true
167181
track = true
168182
end
169183
end

0 commit comments

Comments
 (0)