# [Question] Repeat Blocks Logic

Hello everyone !

I like to start by saying this addon is simply amazing, without it, I’d probably not even bother with playing WoW. Awesome work, folks !

I played Warr for many years and I like to create my own macros. Still, I have some questions regarding how the Repeat Block works, for example…lets say I have the following macro

Block Type Repeat / Priority (1 12 123…)/ Repeat 0

Block 1.1
/cast A

Block 1.2
/castsequence B, C, D

Block 1.3
/cast B

Block 1.4
/cast C

In this case we have four sub-blocks (1.1, 1.2, 1.3 and 1.4). By firing the macro will it go to like 1 → 12 ->123 ->… 12345 ? Or will it recognize it has only 4 lines and after “1234” it will reset itself and re-begin the sequences ?

One more question, lets say I have the following:
Block 1.1
/cast A

Block 1.2
/castsequence B, C

Block 1.3
/cast B

It will cast “C” ONLY if “B” have been fired throught the second line…right ? I mean, if “B” have been fired by the 3rd block it wont step ahed in the castsequence block, I should think of both as two separated macros !?

Thanks a bunch, m8s, and best regards !!!

I’m gonna tag along here for enlightment on this matter aswell

You are asking about Loop Blocks - repeat blocks are very different. GSE3.0 Block Specification · TimothyLuke/GSE-Advanced-Macro-Compiler Wiki · GitHub

Castsequence theoretically will work as you are describing. Understanding castsequence · TimothyLuke/GSE-Advanced-Macro-Compiler Wiki · GitHub and GSE3: Advanced Loop Step Functions Priority and Reverse Priority · TimothyLuke/GSE-Advanced-Macro-Compiler Wiki · GitHub

Except castsequence is broken and a buggy piece of crap that 10% of the time might work. If it only has to work in a miracle by all means use castsequence. If you want it to work, use any other command.

Thank you, for the feedback !

Just read the material and it clarified me a lot.

I’d like to ask two more questions:

1. What are the parameters and conditions we can use for the “If” block ? I mean, I understand they need to return a boolean variables, but could we make use of stuff like “if Spell A is on CD, then…” or “if Rage>60, then…”. Do you know where can I check the commands able to be used ?

2. Per what I see we could use the repeat block for re-applying debuffs on our target while our spells are on CD. For example:

Main Loop Block
[
Micro Loop Block (with 3 lines)
Repeat Block (interval 4)
]

The microloop would cointain the rotation (execute, overpower, etc) and the repeat block would contain Rend+Hamstring. In this case after being fired the first time, the Repeat Block would be re-fired again every 4 clicks, right ? Like:

Click X → Repeat Block
Click X+1 → Loop Block
Click X+2 → Loop Block
Click X+3 → Loop Block
Click X+4 → Repeat Block

Is that right ?

Sorry to bug you guys with so many questions. I`m really into it and trying to figure out a way to optimize even more my rotation. Thanks a bunch !!!

Best regards !

1 Like

If blocks can return anything that you can evaluate from the WoW API when you are outside of combat. They are not able to be evaluated in combat so you can’t do rage>x. You can however do things like “am I an orc?” Or am I in x spec or can I use a flying mount.

As for the repeat block it’s easier to chow you the result than tell you. Click on “Compile Template”. There you will see step by step the actual macro you are creating.

I’m clueless to what you’re saying. Hence why I have so much trouble understanding this addon and the options available.

Props to you Modsbrutis.

Hi Timothy, I’m always thanking you for developing GSE even though I can never get ti to work.

When you say castsequence is busted, that’s just within GSE right?

I would LOVE to use GSE but I’m such a dunce at understanding how it works it’s very frustrating.

That said, if anyone can provide what this macro does it would be appreciated. Even some tips.

In a wow macro I have this: