Skip to content
View in the app

A better way to browse. Learn more.

WRobot

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

All Buffs at once (a solution)

Featured Replies

The following Code is a LUA-Script without a LUA-Script with a LUA-Condition that never wil be true. And it works fine! :-)

 

1.) Lua Script Spell.

With a Lua Script we can use our own fantasy Spell name, instead of a real script, because Lua Scripts are bad to be supported (insert,delete,insert) and they are very ugly in the settings window. So we use only the Word "--Buffs" as lua script. Because we don't have a real LUA script here, we use the comment signs "--" . (see note below the code)

 

2.) Lua Script Condition.

This do the work. The script do all needed checks for the buffs. It checks, if we are in combat (at least 1 Combo Point at a living and exiting target.) and then it check if the buffs (idBuffs) are known and cast them if they needed. The local variable buffed is only needed for debugging.

    <FightClassSpell>
      <SpellName>--Buffs</SpellName>
      <FightClassConditions>
        <FightClassCondition>
          <ContionType>LuaScript</ContionType>
          <Param xsi:type="FightClassConditionLua">
            <LuaScript>local buffed=0
if UnitExists("target") and not UnitIsFriend("player", "target") and not (UnitIsDead("target")) then
    comboPoints = GetComboPoints("player", "target")
    if (comboPoints &gt; 0) then
--[[                Adrenalin,Combat Readiness,Shadow Blades,Berserking,lifeblood,Blood Flurry ]]
        local idBuffs={13750,74001,121471,26297,121279,20572}
        local idStealth=1784
        local spellname=GetSpellInfo(idStealth)
        local start, duration, enabled = GetSpellCooldown(spellname)
        if (enabled==1) then
            for i=1, 6 do
                if (IsPlayerSpell(idBuffs[i])) then
                    local start, duration, enabled = GetSpellCooldown(idBuffs[i])
                    if (duration==0) then
                        local spellname=GetSpellInfo(idBuffs[i])
                        CastSpellByName(spellname)
                        print("buff: "..spellname)
                        buffed=buffed+1
                    end
                end
            end
            
        end
    end
end
result=(buffed&gt;0)
</LuaScript>
            <VarRet>result</VarRet>
            <ValueRet>true</ValueRet>
          </Param>
        </FightClassCondition>
      </FightClassConditions>
      <Priority>23</Priority>
      <AddToSettings>true</AddToSettings>
      <NotSpellIsLuaScript>true</NotSpellIsLuaScript>
      <DescriptionSpell>Set all known buffs</DescriptionSpell>
    </FightClassSpell>


based on WoW 5.4.2.

 

 

Note:

 

In a previous version I use "Buffs" instead of "--Buffs". I changed this to get an entry in the log-file. If you dont like "--Buffs" in the settings window, you can change it back to "Buffs" (or what ever you want). But then you have also change "<ValueRet>true</ValueRet>" to "<ValueRet>notNeeded</ValueRet>". You don't get any logfile entrys in this case, but the script works fine.

  • Author

I use the spell option "Not a spell, is lua script" to use a fantasy spell name.

 

A timer wouldn't work because

 

  1. the duration/cd could be changed, because of items (i.e http://ptr.wowhead.com/item=102292) or other buffs
  2. the buffs have CD
  3. the buffs should be available at fight start.

 

And the solution above do a good job

  • 2 months later...

Ok so I'm wondering what I would have to change to make this work for a Blood DK, Frost DK, or Unholy DK?

Im going to add this to my Fight Class Profiles I have posted and If I can see a full break down of this I can figure out how to add this to all my Fight Classes.

 

Example of what I have come up with:

 

Blood Death Knight:

 

   <FightClassSpell>
      <SpellName>--Buffs</SpellName>
      <FightClassConditions>
        <FightClassCondition>
          <ContionType>LuaScript</ContionType>
          <Param xsi:type="FightClassConditionLua">
            <LuaScript>local buffed=0
if UnitExists("target") and not UnitIsFriend("player", "target") and not (UnitIsDead("target")) then
    Blood Shield = Getbuff("player", "player")
    if (Blood Shield &gt; 0) then
--[[                Empower Rune Weapon,Blood Tap,Dancing Rune Weapon, Anti-Magic Shell, Icebound Fortitude, Remorseless Winter, Raise Dead, Vampiric Blood, Rune Tap, Conversion, Horn of Winter, Lichborne  ]]
        local idBuffs={48707,49222,119975,49028,96268,47568,57330,48792,49039,46584,108200}
        local idBlood Shield=77513
        local spellname=GetSpellInfo(idBlood Shield)
        local start, duration, enabled = GetSpellCooldown(spellname)
        if (enabled==1) then
            for i=1, 6 do
                if (IsPlayerSpell(idBuffs)) then
                    local start, duration, enabled = GetSpellCooldown(idBuffs)
                    if (duration==0) then
                        local spellname=GetSpellInfo(idBuffs)
                        CastSpellByName(spellname)
                        print("buff: "..spellname)
                        buffed=buffed+1
                    end
                end
            end
            
        end
    end
end

 

 

Can there be multiple debug sources like rune power and Runes?

I'm also having trouble cut and pasting this to my fight profile can you please show me a example of the snippet in the fight profile so I can customize this for each of my profile. Ok I got it to load the profile with out error but when I open up the profile not spell is listed named ==Buffs?????

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.