• Dear Guest,

    You're browsing our forum as a Guest meaning you can only see a portion of the forum in read-only mode.
    To view all forum nodes and be able to create threads/posts please register or log-in with your existing account.

    TwinStar team

Druid AFK / Masterbaition one button PvE/PvP macro

Psychi

Authorized
Joined
May 24, 2010
You must have SuperMacro addon installed.
You must be DRUID.
1. Create SuperMacro
2. Copy/Paste code below into Extended Lua script
Code:
if not behindCheck then    behindCheck = CreateFrame("Frame")
     behind=1
    setglobal(behind)
    --setglobal(oor)
    --oor = 1
end


local frame = behindCheck
frame:RegisterEvent('UI_ERROR_MESSAGE')
frame:SetScript("OnEvent", function ()
if arg1 ~= nil then 
    h = string.find(arg1, "behind");--p = string.find(arg1,"Out of range")
end


if h ~= nil then 
    behind=0 
else 
    behind=1 
end
--if p == nil then oor=0 else oor=1 end 
 end)

3. Create another SuperMacro
4. Copy/Paste code below into Extended Lua script
Code:
function CastShit()

if behind == nil then behind = 1
end
rip = 0
rake = 0
faire = 0
tiger = 0
local i = 1
local p = 1


while UnitDebuff("target",i,"player") do 
    D = UnitDebuff("target",i, "player")
    if D=="Interface\\Icons\\Ability_Druid_Disembowel" then 
        rake=1 
    else if D=="Interface\\Icons\\Ability_GhoulFrenzy" then 
        rip=1 
    else if D=="Interface\\Icons\\Spell_Nature_FaerieFire" then 
        faire=1
        end end 
    end 
    i=i+1 
end




if UnitIsPlayer("target") then if UnitHealth("target") < 1500 then 
    rip = 1
else if GetNumRaidMembers() > 10 and GetNumRaidMembers() < 21 and UnitHealth("target") > 40000 then 
    rip = 1
else if GetNumRaidMembers() > 30 and GetNumRaidMembers() < 41 and UnitHealth("target") > 80000 then 
    rip = 1
else if GetNumRaidMembers() > 5 and GetNumRaidMembers() < 11 and UnitHealth("target") > 15000 then 
    rip = 1 
else if GetNumRaidMembers() > 1 and GetNumRaidMembers() < 5 and UnitHealth("target") > 8000 then 
    rip = 1 
else if GetNumPartyMembers() > 1 and GetNumPartyMembers() < 5 and UnitHealth("target") > 8000 then 
    rip = 1
else if UnitHealth("target") < 2000 then 
    rip = 1 
end end end end end end end end


while(UnitBuff("player",p)~=nil) do 
    if(strfind(UnitBuff("player",p),"Ability_Mount_JungleTiger")~=nil) then 
        tiger=1
     end
     p=p+1
end


if not buffed("Cat Form", 'player') then 
    cast("Cat Form(Shapeshift)");k=UnitMana("player") 
end


--SendChatMessage("out of range: "..oor)


if buffed("Clearcasting", 'player') then 
    cast("Shred")
end


if not UnitAffectingCombat("player") and not buffed("Prowl") then 
    CastSpellByName("Prowl") 
else if not IsCurrentAction(1) and not buffed("Prowl") then 
    AttackTarget() 
end end




if not buffed("Prowl") and faire == 0 then 
    if UnitIsPlayer("target") and not CheckInteractDistance("target", 3) then
        CastSpellByName("Faerie Fire (Feral)()") 
    else if not UnitIsPlayer("target") and UnitHealth("target") > 1000 then
        CastSpellByName("Faerie Fire (Feral)()") 
    else if UnitClass("target") == "Rogue" then
        CastSpellByName("Faerie Fire (Feral)()") 
    end end end
end


if buffed("Prowl") then 
       if behind == 1 then 
        if UnitIsPlayer("target") then 
            if UnitHealth("target") < 1000 or UnitClass("target") == "Mage" then 
                 if tiger==0 then 
                    CastSpellByName("Tiger's Fury") 
                else
                    CastSpellByName("Ravage") 
                end
              else 
                  CastSpellByName("Pounce") 
            end end
        else if tiger==0 then 
            CastSpellByName("Tiger's Fury") 
        else
            CastSpellByName("Ravage") 
        end  
    end
else if GetComboPoints()==5 then 
    if rip==0 then 
        CastSpellByName("Rip") 
    else 
        CastSpellByName("Ferocious Bite") 
    end 
else if rake==0 then 
    CastSpellByName("Rake") 
else if behind == 1 then 
    CastSpellByName("Shred") 
else 
    CastSpellByName("Claw") 
end end end end




if buffed("Cat Form", 'player') and UnitMana("Player")<25 and k>1000 then  
    cast ("Cat Form(Shapeshift)") 
else if GetComboPoints()<4 and tiger == 0 and k <1000 then 
    CastSpellByName("Tiger's Fury") 
end end 


end

4. Copy/Paste code below into Macro window to call function on key press
Code:
/run CastShit();

5. Relog
6. Put Macro with /run command to your action bar
7. Go AFK or visit some interesting website ( ͡° ͜ʖ ͡°)



Also you can try this awesome Prowl/Shadowmeld macro (ye fk u horde)
Code:
/script if buffed("Cat Form") then if not buffed("Prowl") then cast("Prowl") end else if not buffed("Shadowmeld") then cast("Shadowmeld") end end

ALSO BE READY FOR UPCOMING OUT OF RANGE CHECK MACRO...BECAUSE YOU DONT ONLY WANT TO KNOW IF YOU ARE BEHIND ( ͡° ͜ʖ ͡°) BUT ALSO IF YOU ARE CLOSE ENOUGH !!
 
Last edited:
AFK macro updated. Changelog:
Fixed error after login
Fixed error with mana
Updated Faire Fire condition
Code formated and cleaned
 
I suggest more details in instructions and an overall summary in layman's terms of what is trying to be accomplished here. The post assumes a detailed understanding of the use of Supermacro and coding of macros which is not shared by the majority of readers.
 
Top Bottom