You are not logged in.

Applications: [GameMaster: OPEN] | [Volunteer Testers: OPEN]


This forum will be permanently shut down on Friday 13.07.2018
Please copy or save all important information from old forum before they will be deactivated
We have moved to new board. https://forum.runesofmagic.gameforge.com/Come join us.

Posts: 262

Location: The Ocean?

  • Send private message

441

Sunday, February 19th 2012, 12:22am

Quoted from "WarPrince;511145"

By saying that it wont check cooldowns, do you mean that it will keep trying to use the potion and therefore not advance anymore in the code? Im trying to set it up to where an energy pot will be used before energy thief. If this can you tell me how to have the cd checked.


Yes.

You should search through this thread (I think it was mentioned before) on how to set a cooldown up for those.

If you are too lazy, you can set up a fake cooldown (which is also in this thread) for potions and items that you use with short cooldowns in the top of your code.

-TunaShake

442

Sunday, February 19th 2012, 5:41pm

Ok so I followed Peryl's guide on how to create timers on page 21 of this thread. Before, when I tried creating timers it would mess up my addons and not work at all. Now my addons are fine so that's an improvement. However, now i get the following errors and my code stopped working.

"Attempt to call global 'PctM' (a nil value)" and " '<eof>' expected near 'end' " (this error is on the diyce lua file not the custom lua)
Could i get some insight on how to remedy these errors. Thanks.
The best mind-altering drug is truth.

[LEFT]
[/LEFT]

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

443

Sunday, February 19th 2012, 11:31pm

Quoted from "WarPrince;511241"

Ok so I followed Peryl's guide on how to create timers on page 21 of this thread. Before, when I tried creating timers it would mess up my addons and not work at all. Now my addons are fine so that's an improvement. However, now i get the following errors and my code stopped working.

"Attempt to call global 'PctM' (a nil value)" and " '<eof>' expected near 'end' " (this error is on the diyce lua file not the custom lua)
Could i get some insight on how to remedy these errors. Thanks.

The above error is most likely because you are either missing an end statement, or have one too many. This was likely caused when performing the changes to DIYCE.lua, hence why the error is showing up there.

First, please read this little guide and perform the appropriate steps mentioned there.
2013... The year from hell....

444

Sunday, February 19th 2012, 11:32pm

opinions needed:P

ok i need ur input on the following code

--> the 1st part is a phyrius pot user code put on 2 buttons 1 for hp phyr and 1 for mana phyr ,
do u think it can be improved ??


--> i need ur attention at the long buffs i cast when goat=2 , without changing much things, how can i get the buffs cast irrespective of having an enemy selected ,should i put another "if" within ?

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
if mainClass == "WARRIOR" and subClass == "WARDEN" then
                    --Timers for this class
                    CreateDIYCETimer("SSBleed", 6) --Change the value between 6 -> 7.5 depending on your lag.
                    
                    
                    -- slot 71 72 73 , for mana phyrius 20% 30% 50%
                    -- slot 74 75 76 , for hp phyrius 20% 30% 50% 
                    -- slot 77 78 79 , for hp+m pots 20% 30% 50%

                    if (goat2 == "1") then   -- HP phyrius button
                    
                    Skill =  {
                        { name = "Action: 79  (50%)",         use = ((phealth <= .51) and (pctEB2 < .51 ) and (boss or elite)) },
                        { name = "Action: 78  (30%)",         use = ((phealth <= .31) and (pctEB2 < .31 ) and (boss or elite)) },
                        { name = "Action: 77  (20%)",         use = ((phealth <= .21) and (pctEB2 < .21 ) and (boss or elite)) },
                        { name = "Action: 76  (50% hp)",         use = ((phealth <= .51) and (boss or elite)) },
                        { name = "Action: 75  (30% hp)",         use = ((phealth <= .31) and (boss or elite)) },
                        { name = "Action: 74  (20% hp)",         use = ((phealth <= .21)) },
                             }
                    elseif (goat2 == "2") then   --- MP phyr button 
                    
                    Skill =  {
                        { name = "Action: 79  (50%)",         use = ((phealth <= .51) and (pctEB2 < .51 ) and (boss or elite)) },
                        { name = "Action: 78  (30%)",         use = ((phealth <= .31) and (pctEB2 < .31 ) and (boss or elite)) },
                        { name = "Action: 77  (20%)",         use = ((phealth <= .21) and (pctEB2 < .21 ) and (boss or elite)) },
                        { name = "Action: 76  (50% MP)",         use = ((pctEB2 <= .51) and (boss or elite)) },
                        { name = "Action: 75  (30% MP)",         use = ((pctEB2 <= .31) and (boss or elite)) },
                        { name = "Action: 74  (20% MP)",         use = ((pctEB2 <= .21)) },
                             }
                    
                    end

                    if ((enemy) and (goat2 == "0")) then    ------->>>> neeed help here
                    
                    Skill2 = {
                    
                        { name = "Battle Creed",                      use = (not pbuffs['Battle Creed']) },
                        { name = "Briar Shield",                      use = (not pbuffs['Briar Shield']) },
                        { name = "Survival Instinct",                 use = ((plife <= .48) and (boss)) }
                        
                    
                        { name = "Savage Whirlwind",                   use = (pctEB2 >= .05) },
                        { name = "Tactical Attack",                    use = ((tbuffs[500081]) and (EnergyBar1 >= 16)) },
                        { name = "Attack Weakener",                    use = ((pctEB2 >= .05) and tbuffs['Vulnerable']) },
                        { name = "Open Flank",                         use = ((tbuffs['Vulnerable']) and (EnergyBar1 >=11))  },
                        { name = "Probing Attack",                     use = ((EnergyBar1 >= 21) and (tbuffs[500081])) },
                        { name = "Slash",                              use = (EnergyBar1 >= 26), timer = "SSBleed", ignoretimer = (pbuffs['aggressivness']) },
                        { name = "Enraged",                            use = ((EnergyBar1 < 25) and (boss or elite)) },
                        { name = "Power of the Wood Spirit",           use = (pctEB2 >= .05) },
                        }
                            
                    end
                 
                 -- Class: Warden/Warrior



NOte : previous poster plz check how i use the timer , this way u can understand

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

445

Monday, February 20th 2012, 12:13am

I'll answer your second question first.

Quoted from "neonsun;511294"

Source code

1
      { name = "Slash",   use = (EnergyBar1 >= 26), timer = "SSBleed", ignoretimer = (pbuffs["[COLOR=#ff0000]aggressivness[/COLOR]"]) },

NOte : previous poster plz check how i use the timer , this way u can understand

Once again, please check that the player buff name you are checking for (highlighted in red above) is correct including case. "Aggressiveness" and "aggressiveness" are considered different as far as Lua is concerned. Further, the name must exactly match the entire buff name or it simply will not work.


Quoted from "neonsun;511294"

ok i need ur input on the following code

--> the 1st part is a phyrius pot user code put on 2 buttons 1 for hp phyr and 1 for mana phyr ,
do u think it can be improved ??

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
                    -- slot 71 72 73 , for mana phyrius 20% 30% 50%
                    -- slot 74 75 76 , for hp phyrius 20% 30% 50% 
                    -- slot 77 78 79 , for hp+m pots 20% 30% 50%

                    if (goat2 == "1") then   -- HP phyrius button
                    
                    Skill =  {
                        { name = "Action: 79  (50%)",         use = ((phealth <= .51) and (pctEB2 < .51 ) and (boss or elite)) },
                        { name = "Action: 78  (30%)",         use = ((phealth <= .31) and (pctEB2 < .31 ) and (boss or elite)) },
                        { name = "Action: 77  (20%)",         use = ((phealth <= .21) and (pctEB2 < .21 ) and (boss or elite)) },
                        { name = "Action: 76  (50% hp)",         use = ((phealth <= .51) and (boss or elite)) },
                        { name = "Action: 75  (30% hp)",         use = ((phealth <= .31) and (boss or elite)) },
                        { name = "Action: 74  (20% hp)",         use = ((phealth <= .21)) },
                             }
                    elseif (goat2 == "2") then   --- MP phyr button 
                    
                    Skill =  {
                        { name = "Action: 79  (50%)",         use = ((phealth <= .51) and (pctEB2 < .51 ) and (boss or elite)) },
                        { name = "Action: 78  (30%)",         use = ((phealth <= .31) and (pctEB2 < .31 ) and (boss or elite)) },
                        { name = "Action: 77  (20%)",         use = ((phealth <= .21) and (pctEB2 < .21 ) and (boss or elite)) },
                        { name = "Action: 76  (50% MP)",         use = ((pctEB2 <= .51) and (boss or elite)) },
                        { name = "Action: 75  (30% MP)",         use = ((pctEB2 <= .31) and (boss or elite)) },
                        { name = "Action: 74  (20% MP)",         use = ((pctEB2 <= .21)) },
                             }
                    
                    end

You probably want to rethink your mana and HP checks here. Currently you got it setup so that if you are below 20% health and 20% mana, use the 20% HP+mana. Would be better to use the 50% one at this point. Same goes for all the other checks.

Quoted from "neonsun;511294"

--> i need ur attention at the long buffs i cast when goat=2 , without changing much things, how can i get the buffs cast irrespective of having an enemy selected ,should i put another "if" within ?

Your best bet here would be to extend the previous if statement to check for goat2=="0" and fill up a Skill list with the appropriate buffs. Something like:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
                    if (goat2 == "1") then   -- HP phyrius button

                      [B][I]...snipped code to make this shorter...[/I][/B]

                    elseif (goat2 == "2") then   --- MP phyr button 

                      [B][I]...snipped code to make this shorter...[/I][/B]

                    elseif (goat2=="0") then

                        Skill = {
                            [B][I]-- Add those buffs here[/I][/B]
                        }
                    
                    end

                  [B][I]Remainder of code stays the same[/I][/B]
2013... The year from hell....

446

Monday, February 20th 2012, 1:11am

Thanks Peryl I got the timer working perfectly but I have another problem. Below is the problamatic code

Quoted

{ name = "Item: Potion of Exquisite Skill", use = (boss and (EnergyBar1 <25)), timer="Energy Potion CD" },
{ name = "Energy Thief", use = ((EnergyBar1 <25) and boss)},

So now the potion is used when i want it to but Energy Thief isnt used at all. Could it possibly be due to having the same requirements for activation?
The best mind-altering drug is truth.

[LEFT]
[/LEFT]

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

447

Monday, February 20th 2012, 3:12am

Quoted from "WarPrince;511309"

Thanks Peryl I got the timer working perfectly but I have another problem. Below is the problamatic code

So now the potion is used when i want it to but Energy Thief isnt used at all. Could it possibly be due to having the same requirements for activation?

Quite probable.

DIYCE treats the skill lists you define as a priority list. That is, it goes through the list, one entry at a time, in the order you specified, and stops at the first one that it can use.

So in your case, it would see the item entry first, decide it can use that, and then stop processing the list. The timer check on the item use won't currently do anything since the modification was done only to skill use so you'd need to modify the if statement in MyCombat (in DIYCE.lua) to use the timer stuff there as well (see how it is done for skills and do something similar).

BTW, you should use code tags and not quote tags for posting code, otherwise quoted replies like this one have the sub-quoted text removed. Just a heads up.
2013... The year from hell....

448

Monday, February 20th 2012, 7:21am

Quoted from "SirMasterBlue;510977"

I've been all over this and a few other threads. My ? is...is there a way to check the level of a skill to adjust the amount of mana/energy used? :confused:
i.e.

Source code

1
{ name = "Crazy Blades", use = (EnergyBar1 >= (20+(2(skillLevel)))) and ((not pbuffs['Crazy Blades']) or (pbuffs['Crazy Blades'].time <= 45)) },


BTW....thanks for everything! You guys/gals are amazing!


Scratch this. Is there some way to call/create a Mana/Energy cost variable?
SirMasterBlue
Areafiftyone GL
Your roving muse reporter
K60/R60
Artemis

449

Monday, February 20th 2012, 11:39pm

thanks Peryl everything worked perfectly
- re adjusted the pots (had made a mistake)
- its Aggresiveness yes

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

450

Tuesday, February 21st 2012, 1:14am

@SirMasterBlue
Not sure what you mean by Mana cost variable.

@neonsun
Glad it's working
2013... The year from hell....

451

Tuesday, February 21st 2012, 10:42am

Lets make it harder for u guys ,
Is there anyway to have a function check what type is the monster ur facing, let s say to check for humanoid or beast on boss??

452

Tuesday, February 21st 2012, 10:57am

you could create a list of them and then make a check. nothing too hard.
there aren't so many bosses in this game.

453

Tuesday, February 21st 2012, 1:31pm

Decided to do some research myself :p

Anyone knows if i could use UnitRace("target") command ?
i m just mumbling here but something like That would return human or elf , would it return humanoid or beast on mobs?

Also maybe getcharacterrace command?

454

Tuesday, February 21st 2012, 6:45pm

I've just started using the DIYCE (the old version) and ran across the new version of DIYCE. From what I can glean, I need to modify the CustomFunctions.lua file to support my class combo.

I'm looking for Rogue/Scout, Mage/Priest and their complementary combos. Can anyone post samples to get me started?
thanx

455

Tuesday, February 21st 2012, 7:31pm

@mkyp : check out the zip file in the 1st page , download it , it has the new dyice 2.2 and a custom function file , from the op , it has a mage "kill sequence" to get u started, change the parameters and m/p skills if they are missing.
For Rogue there is another function on page 6 , use that as inspiration.


@ my onw porblem : and this is a question to experienced users, what wiuld be more efficient ?
- using dyice to check for humanoid or beast Or
- make a list of the bosses from tosh gc sc that are humanoid or beast and use it as a variable

(both methods are things i dont know how to do and help is deeply appreciated .)

Thank you

hangman04

Savage Warrior

Posts: 113

Location: Romania

Mood: Smile

  • Send private message

456

Tuesday, February 21st 2012, 9:46pm

Quoted from "neonsun;511626"


@ my onw porblem : and this is a question to experienced users, what wiuld be more efficient ?
- using dyice to check for humanoid or beast Or
- make a list of the bosses from tosh gc sc that are humanoid or beast and use it as a variable

(both methods are things i dont know how to do and help is deeply appreciated .)

Thank you


From what i know the function checks if mob is normal, elite or boss but i haven't seen yet a function for the type of the mob. neo the answer to the question is that either beast or non beast / humanoid probing + vulnerable is still better then 1x slash + ta from both dmg per combo and dmg / rage used, and if there are 2 slashes on the boss it's the opposite.

test on Pupa in ravenfell, with no gear and just a lvl 8 2-h axe. which combo is better (wr/wd to test beast mastery elite effect and simple wr to see dmg without elite bonus).

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

457

Tuesday, February 21st 2012, 11:24pm

Quoted from "neonsun;511626"

my onw porblem : and this is a question to experienced users, what wiuld be more efficient ?
- using dyice to check for humanoid or beast Or
- make a list of the bosses from tosh gc sc that are humanoid or beast and use it as a variable

(both methods are things i dont know how to do and help is deeply appreciated .)

Thank you

The RoM Wiki is your friend. UnitRace() returns a string containing "Elf" or "Human" for player targets or nil if unit doesn't exist. There is no mention what happens when the unit is a mob or NPC. You could always test it out with

Source code

1
/run DEFAULT_CHAT_FRAME:AddMessage("Target is "..(UnitRace("target") or "unknown"))


Assuming it returns what you need, you could use it in DIYCE directly in the skill list like this

Source code

1
    { name = "SomeSkill",  use = UnitRace("target") == "Human" },

You could also add some code at the start of KillSequence to check for the conditions, for example

Source code

1
2
    local race = UnitRace("target")
    local humanoid = race == "Human" or race == "Elf"

then the skill entry could become this if you wanted to use "SomeSkill" if the target isn't a humanoid.

Source code

1
    { name = "SomeSkill",  use = not humanoid },


As for making a list of bosses, you could do something like the silence list. Names would be taken from what is returned fromUnitName(). You could give number values (or make your own constants) for the type the boss is.

Source code

1
2
3
4
5
6
7
8
9
local bossTypes = {
    HUMANOID = 1,
    BEAST = 2,
}

local bossList = {
    ['boss name 1'] = bossTypes.HUMANOID,
    ['boss name 2'] = bossTypes.BEAST,
}

Now you could add this to the start of KillSequence to determine the boss racial type

Source code

1
    local bossRacialType = bossList[UnitName('target') or '']

and the skill entry can then become something like this for beast type bosses

Source code

1
    { name = "SomeSkill",  use = bossRacialType == bossTypes.Beast },


Other variations on this stuff could be done of course. That's the fun of programming.
2013... The year from hell....

458

Wednesday, February 22nd 2012, 8:13am

Quoted from "Peryl;511494"

@SirMasterBlue
Not sure what you mean by Mana cost variable.


A K/R's level 30 elite skill is Crazy Blades. It costs 20 mana at level 0 and an additional 2 mana per upgrade. Short of going into DIYCE and editing everytime I upgrade that skill, is there a way to write a variable to handle the changes?
SirMasterBlue
Areafiftyone GL
Your roving muse reporter
K60/R60
Artemis

459

Wednesday, February 22nd 2012, 9:22am

Quoted from "SirMasterBlue;511922"

A K/R's level 30 elite skill is Crazy Blades. It costs 20 mana at level 0 and an additional 2 mana per upgrade. Short of going into DIYCE and editing everytime I upgrade that skill, is there a way to write a variable to handle the changes?

You don't have to at all.
DIYCE checks for usability of a skill - this includes, whether there is enough mana to execute it.
So, when there is not enough mana, the skill won't be used by DIYCE.

460

Wednesday, February 22nd 2012, 2:13pm

@peryl , indeed romwiki is ur friend thats where i went to read about the unitrace function.

and its just like u said it worked , returned the race of the mob , any mob.
did not try the 2nd method.

thanks for supplying the code to test .
Also i did exactly like u proposed here is a snippet of my code :

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
       function KillSequence(arg1, goat2, healthpot, manapot, foodslot)
        --arg1 = "v1" or "v2" for debugging
        --healthpot = # of actionbar slot for health potions
        --manapot = # of actionbar slot for mana potions
        --foodslot = # of actionbar slot for food (add more args for more foodslots if needed)

            local Skill = {}
            local Skill2 = {}
            local i = 0
            
            -- Player and target status.
            local combat = GetPlayerCombatState()
            local enemy = UnitCanAttack("player","target")
            local EnergyBar1 = UnitMana("player")
            local EnergyBar2 = UnitSkill("player")
            local pctEB1 = PctM("player")
            local pctEB2 = PctS("player")
            local tbuffs = BuffList("target")
            local pbuffs = BuffList("player")
            local tDead = UnitIsDeadOrGhost("target")
            local behind = (not UnitIsUnit("player", "targettarget"))
            local melee = GetActionUsable(21) -- # is your melee range spell slot number
            --local a1,a2,a3,a4,a5,ASon = GetActionInfo(14)  -- # is your Autoshot slot number
            local phealth = PctH("player")
            local thealth = PctH("target")
            local LockedOn = UnitExists("target")
            local boss = UnitSex("target") > 2
            local elite = UnitSex("target") == 2
            local party = GetNumPartyMembers() >= 2
            [B]local race = UnitRace("target")
            local Beamoid = race == "Humanoid" or race == "Beast"[/B]
            
            
            --Determine Class-Combo
            mainClass, subClass = UnitClassToken( "player" )

            --Silence Logic
            local tSpell,tTime,tElapsed = UnitCastingTime("target")
            local silenceThis = tSpell and silenceList[tSpell] and ((tTime - tElapsed) > 0.1)
            
            --Potion Checks
            healthpot = healthpot or 0
            manapot = manapot or 0
            
            --Equipment and Pet Protection
            if phealth <= .03 then
                    SwapEquipmentItem()        --Note: Remove the first double dash to re-enable equipment protection.
                for i=1,6 do
                    if (IsPetSummoned(i) == true) then
                        ReturnPet(i);
                    end
                end        
            end
                
            --Check for level 1 mobs, if it is, drop target and acquire a new one.
            if (LockedOn and (UnitLevel("target") < 2)) then
                TargetUnit("")
                return
            end
            
            --Begin Player Skill Sequences
            
                --Priest = AUGUR, Druid = DRUID, Mage = MAGE, Knight = KNIGHT, 
                --Scout = RANGER, Rogue = THIEF, Warden = WARDEN, Warrior = WARRIOR
                
                -- Class: Warrior/warden
                if mainClass == "WARRIOR" and subClass == "WARDEN" then
                    --Timers for this class
                    CreateDIYCETimer("SSBleed", 6) --Change the value between 6 -> 7.5 depending on your lag.
                    --goat2: 0 = Buffs, 1 = Melee, 2 = Ranged, 3 = Cooldowns & Potions, 4 = Longer Cooldowns
                    
                    
                    -- slot 72 73 74 , for mana phyrius 20% 30% 50%
                    -- slot 75 76 77 , for hp phyrius 20% 30% 50% 
                    -- slot 78 79  80 , for hp+m pots 20% 30% 50%

                    if (goat2 == "1") then   -- HP phyrius button
                    
                    Skill =  {
                       
                             }
                             
                    elseif (goat2 == "2") then  -- mp phyr button
                    
                    Skill =  {
                       
                             }
                             
                    elseif (goat2 == "0") then 
                    
                    Skill =  {
                        { name = "Battle Creed",                      use = (not pbuffs['Battle Creed']) },
                        { name = "Briar Shield",                      use = (not pbuffs['Briar Shield']) },
                        { name = "Survival Instinct",                 use = (phealth <= .48) },
                              }
                        
   
                    end

                   [B] if ((enemy) and (Beamoid) and (goat2 == "0")) then[/B]
                    
                    Skill2 = {
                    
                        { name = "Savage Whirlwind",                   use = (pctEB2 >= .05) },
                        { name = "Tactical Attack",                    use = ((tbuffs[500081]) and (EnergyBar1 >= 16)) },
                        { name = "Attack Weakener",                    use = ((pctEB2 >= .05) and tbuffs['Vulnerable'] and (not pbuffs['Aggressiveness'])) },
                        { name = "Open Flank",                         use = ((tbuffs['Vulnerable']) and (EnergyBar1 >=11))  },
                        { name = "Probing Attack",                     use = ((EnergyBar1 >= 21) and (tbuffs[500081])) },
                        { name = "Slash",                              use = (EnergyBar1 >= 26), timer = "SSBleed", ignoretimer = (pbuffs['Aggressiveness']) },
                        { name = "Enraged",                            use = ((EnergyBar1 < 25) and (boss or elite)) },
                        { name = "Power of the Wood Spirit",           use = (pctEB2 >= .05) },
                        }
                        
                    [B]elseif ((enemy) and (goat2 == "0")) then[/B]
                    
                    Skill2 = {
                    
                        { name = "Savage Whirlwind",                   use = (pctEB2 >= .05) },
                        { name = "Tactical Attack",                    use = ((tbuffs[500081]) and (EnergyBar1 >= 16)) },
                        { name = "Attack Weakener",                    use = ((pctEB2 >= .05) and tbuffs['Vulnerable'] and (not pbuffs['Aggressiveness'])) },
                        { name = "Action: 06 (set skill)",             use = ((EnergyBar1 >=11)) },
                        { name = "Probing Attack",                     use = ((EnergyBar1 >= 21) and (tbuffs[500081])) },
                        { name = "Slash",                              use = (EnergyBar1 >= 26), timer = "SSBleed", ignoretimer = (pbuffs['Aggressiveness']) },
                        { name = "Enraged",                            use = ((EnergyBar1 < 25) and (boss or elite)) },
                        { name = "Power of the Wood Spirit",           use = (pctEB2 >= .05) },
                        }
                            
                    end
                 
                 -- Class: Warden/Warrior                 
                elseif mainClass == "WARDEN" and subClass == "WARRIOR" then
                
                    if (goat2 == "0") then
                    Skill =  {
                         { name = "Briar Shield",                      use = (not pbuffs['Briar Shield']) },
                              }
                    end

                   [B] if ((enemy) and (goat2 == "0")) then[/B]
                    Skill2 = {
                        { name = "Pulse Mastery",                                       use = ((tbuffs['Beast Sigil']) and (pctEB1 >= .05)) },
                        { name = "Beast Chop",                                          use = (EnergyBar2 >= 21) },
                        { name = "Double Chop",                                         use = (pctEB1 >= .05) },
                        { name = "Slash",                                                use = (EnergyBar2 >= 25) },
                        { name = "Will Attack",                                         use = (pctEB1 >= .05) },
                        { name = "Power of the Wood Spirit",                            use = (pctEB1 >= .05) },
                              }
                    end
                        
                        
                    --ADD MORE CLASS COMBOS HERE. 
                    --USE AN "ELSEIF" TO CONTINUE WITH MORE CLASS COMBOS.
                    --THE NEXT "END" STATEMENT IS THE END OF THE CLASS COMBOS STATEMENTS.
                    --DO NOT POST BELOW THE FOLLOWING "END" STATEMENT!
                end


as u can see their are 2 different skill rotations depending if humanoid/beast or not .