kirk24788 / KPS

Karnofsky Performance System
8 stars 11 forks source link

error when using item in combat #47

Closed blackcardi closed 7 years ago

blackcardi commented 7 years ago

events.lua:163 - Error Interface\AddOns\KPS\core\kps.lua:86: attempt to call upvalue 'priorityAction' (a boolean value) on OnUpdate function function: 000001DC695305A8

this error pops up when using an item (Drums, fear trinket, Defiled rune etc.) in combat and completely stops working.

kirk24788 commented 7 years ago

Could you please post an example rotation?

blackcardi commented 7 years ago

--[[[ @module Hunter Beastmaster Rotation @author markusem but this has many changes @version 7.0.3 ]]-- local spells = kps.spells.hunter local env = kps.env.hunter

-- Talents: -- Tier 1: Dire Stable, Way of the Cobra -- Tier 2: Stomp, Chimaera Shot, Dire Frenzy -- Tier 3: Posthaste, Dash -- Tier 4: Bestial Fury, One With the Pack -- Tier 5: Blinding Shot (whatever talent really) -- Tier 6: A Murder of Crows, Barrage, Volley (for AOE) -- Tier 7: Killer Cobra, Stampede

kps.rotations.register("HUNTER","BEASTMASTERY", { -- buffs {spells.callPet1, 'not player.hasPet'}, -- { {"macro"}, 'player.hasBuff(spells.aspectOfTheCheetah)', "/cancelaura Aspect of the Cheetah" },

-- interrupts
{{"nested"}, 'kps.interrupt',{
    {spells.counterShot, 'target.isInterruptable'},
    {spells.counterShot, 'focus.isInterruptable', "focus" },
}},

-- defensive
{{"nested"}, 'kps.defensive', {
    { {"macro"}, 'kps.useBagItem and player.hp < 0.40', "/use Healthstone" },
    {spells.exhilaration, 'player.hp < 0.32'},
    {spells.aspectOfTheTurtle, 'player.hp < 0.25'},
}},

-- situational

-- cooldowns
{{"nested"}, 'kps.cooldowns', {
    {{"nested"}, 'spells.bestialWrath.cooldown > 30 and player.hasBuff(spells.bestialWrath)', {
        { {"macro"}, 'kps.cooldowns', "/cast Berserking" },
        {spells.stampede},
        {spells.aMurderOfCrows},
        {spells.aspectOfTheWild},
        -- trinkets!
        --{ {"macro"}, 'kps.useBagItem', "/use 13" },
        { {"macro"}, 'kps.useBagItem', "/use 14" },
        -- pet attack, just in case!
        { {"macro"}, 'player.hasPet', "/petattack"}, -- loops
        -- cooldown racial
        { {"macro"}, 'kps.cooldowns', "/cast Blood Fury" },

    }},
}},

-- multitarget
{{"nested"}, 'kps.multiTarget', {
    {spells.volley, 'not player.hasBuff(spells.volley)'},

    {spells.bestialWrath, 'player.focus >= 105'},

    {spells.killCommand, 'spells.bestialWrath.cooldown > 2'},
    {spells.direBeast,'spells.bestialWrath.cooldown > 2'},
    --{spells.direFrenzy, 'player.hasTalent(2, 2) and spells.bestialWrath.cooldown > 2'},
    {spells.multishot, 'pet.buffDuration(spells.beastCleave) < 0.75 and spells.bestialWrath.cooldown > 2'},
    {spells.cobraShot, 'player.focus > 90 and spells.bestialWrath.cooldown > 3 and pet.buffDuration(spells.beastCleave) > 1.5'},
}},

-- rotation
{spells.volley, 'not player.hasBuff(spells.volley)'},
{{"macro"}, 'keys.shift', "/cast [@cursor] Freezing Trap" },
{spells.mendPet, 'pet.hp <= 0.50'},
{spells.bestialWrath, 'player.focus >= 110'},
{spells.aMurderOfCrows,'spells.bestialWrath.cooldown > 3 and not kps.multiTarget'},
{spells.killCommand, 'spells.bestialWrath.cooldown > 2'},
--{spells.chimaeraShot},
{spells.direBeast, 'spells.direBeast.charges = 2'},
{spells.direBeast, 'spells.bestialWrath.cooldown > 6 and not player.focus > 90'},
{spells.tarTrap, 'keys.shift'},
--{spells.direFrenzy, 'player.hasTalent(2, 2) and spells.bestialWrath.cooldown > 2 and not player.focus >= 100'},
--{spells.barrage, 'player.hasTalent(6, 2)'},
{spells.titansThunder},
{spells.cobraShot, 'player.hasBuff(spells.bestialWrath) and spells.killCommand.cooldown > 1.5 and not kps.multiTarget'},
{spells.cobraShot, 'player.focus > 85 and spells.bestialWrath.cooldown > 3 and not kps.multiTarget'},
--{spells.direBeast, 'spells.direBeast.charges = 2'},
{{"macro"}, 'player.hasPet', "/petattack"},

} ,"Beastmastery 7.0.3 MU", {0, 0, 0, 0, 0, 0, 0})

htordeux commented 7 years ago

I have also this error , the solution for me was to remove the (id) in kps.lua write

    if stype == "item" then
        priorityAction = kps.useItem -- TODO kps.useItem
    end
blackcardi commented 7 years ago

yep it worked. Thanks htordeux.

By the way, I brought my Priest out of his garrison and got the Shadow weapon just to try out your rotation. It works beautifully. Thanks for your work. I'm pretty excited to get him to 110 and trade carry runs through Heroic NH.

edit: that BM rotation above is for a specific spec (Way of the Cobra, Dire Frenzy, Bestial Fury, Killer Cobra, others don't matter) with mantle of command and is single target based, but I posted 95%-99% by ilvl (Warcraft Logs) on every single target fight (Anomaly, Trilliax, Star Auger, Krosus, Elisande, and Guldan).

htordeux commented 7 years ago

thnaks, but there is an error in shadowpriest rotation the line for {spells.shadowMend, ...

change not playerHasBuff(spells.vampiricEmbrace) to not player.hasBuff(spells.vampiricEmbrace)

blackcardi commented 7 years ago

Ok, will change it. Thanks!

kirk24788 commented 7 years ago

I have also this error , the solution for me was to remove the (id) in kps.lua write That may resolve the error - but isn't the correct solution, I'll fix this - but using an item is currently not supported. The function simply does nothing :/