Results 1 to 9 of 9
  1. #1
    Player
    HakuroDK's Avatar
    Join Date
    Sep 2013
    Location
    Ul'dah
    Posts
    2,052
    Character
    Kinnison Cooke
    World
    Malboro
    Main Class
    Gunbreaker Lv 90

    Conditional Branches in Macros

    Heya! This is a pretty... advanced kinda topic, but I was wondering if it could possibly be implemented into the Macro system somehow.

    Essentially, adding Conditional Branches in Macro commands. These would be:

    /if - If the following string is true, execute the /then command.
    /then - If a previous /if string is true, the command following this command is executed.
    /else - If the previous /if string is false, the command following this command is executed.

    This will essentially add a VERY rudimentary set of logic-based commands to allow for more complex macro-making.

    Let's say, for example, a Scholar wants to debuff the tank's target through <tt>, but requires concentration to keep the tank healed at the same time. A macro for debuffing with this Conditional Branch system may look like this.

    /if <tt> buff "Immunity"
    /then /ac "Miasma" <tt>
    /else /ac "Virus" <tt>

    Translating to English, if the Tank's Target has Immunity, Miasma will be cast on the Tank's Target. Otherwise, Virus will be cast on the Tank's Target.

    Or if a Warrior wants to make an intelligent macro for some of his Enrage-consuming abilities:

    /if <me> buff "Enraged"
    /then /if <me> HP=<50%
    /then /ac "Inner Beast" <t>
    /else /if <attack2> Enmity=False
    /then /ac "Steel Cyclone" <attack2>
    /else /ac "Unchained" <me>
    /else /ac "Infuriate" <me>

    Translating to English, if you have the "Enraged" buff (Five Stacks of Wrath), and if your HP is less than or equal to half, then you will use "Inner Beast" on your target. If your HP is not less than or equal to half, and if an enemy you're not attacking is not attacking you (assuming the "Attack1" and "Attack2" signs are being used), you will use "Steel Cyclone" on that enemy. If that enemy is attacking you, you'll use Unchained instead. If you do not have the "Enraged" buff, you will use "Infuriate".

    If an /if command is used by itself, nothing would happen. Same with /then and /else, as at least /if and /then would have to be used, with /else being optional.

    It's kinda advanced stuff, but stuff I think would be fantastic to see!
    (0)
    Last edited by HakuroDK; 02-01-2014 at 11:55 AM.

  2. #2
    Player
    Royal's Avatar
    Join Date
    Mar 2011
    Location
    Gridania
    Posts
    362
    Character
    Lexalon Kai
    World
    Adamantoise
    Main Class
    Thaumaturge Lv 50
    Last I remember reading about this topic, they deliberately avoided these kind of programming loops to avoid bots. I might be wrong on the reason but they were specific about not doing this on purpose so don't get your hopes up.
    (2)

  3. #3
    Player
    HakuroDK's Avatar
    Join Date
    Sep 2013
    Location
    Ul'dah
    Posts
    2,052
    Character
    Kinnison Cooke
    World
    Malboro
    Main Class
    Gunbreaker Lv 90
    Quote Originally Posted by Royal View Post
    Last I remember reading about this topic, they deliberately avoided these kind of programming loops to avoid bots. I might be wrong on the reason but they were specific about not doing this on purpose so don't get your hopes up.
    Eh. Worth a shot. I'm just fond of any means possible of consolidating my hotbar is all.
    (0)

  4. #4
    Player
    Ninix's Avatar
    Join Date
    Aug 2013
    Posts
    381
    Character
    Talim Amariyo
    World
    Balmung
    Main Class
    Arcanist Lv 60
    They've explicitly decided against implementing this sort of functionality.

    Quote Originally Posted by Hiroshi_Minagawa View Post
    Here is the macro feature policy for FFXIV:
    1. Do not make it so macros must be used.
    2. Minimizing and optimizing actions without error beyond that of human control is not allowed.
    3. Make it a support feature that can be used by people that are a bit shaky at controlling the game to ensure control, while not making it 100% optimized.
    4. The player makes the execution decision. We will not be implementing a feature where the macros makes its own decisions. For example: We will not be implementing a feature that executes things based on certain criteria (player status, enemy HP, certain actions, etc.)
    Point four being the most relevant here.
    (0)

  5. #5
    Player
    Tupsi's Avatar
    Join Date
    Feb 2012
    Posts
    3,149
    Character
    Odsarzol Que
    World
    Balmung
    Main Class
    Arcanist Lv 80
    Yeah, it's why they decided against 'Gambits' for our Chocobo Buddy when that was originally a key feature of it.
    (0)

  6. #6
    Player

    Join Date
    Aug 2013
    Posts
    266
    this would be border line automation. Macros should never take any choices for the person using it. If you set a macro in a specific order it will only do that order or that set of skills. So no choices being made it just does it. But you add any type of IF THEN type stuff its because automation then the macro is doing the work its seeing if "said buff" is on target if not apply it. You are not checking to see if hte buff/debuff is up you are not making the choice to cast it now or wait for the transition phase thats about to happen in 5 seconds. This is a very bad idea.
    (0)

  7. #7
    Player
    Shakarlyn's Avatar
    Join Date
    Aug 2013
    Posts
    110
    Character
    Niashi Daemunshyir
    World
    Durandal
    Main Class
    Arcanist Lv 50
    I know, I kind of whined about this in my LS recently. The room for abuse is astronomical as previously noted. I completely understand where you are coming from though.
    (0)

  8. #8
    Player
    RazeLandale's Avatar
    Join Date
    Aug 2013
    Posts
    230
    Character
    Raze Landale
    World
    Hyperion
    Main Class
    Astrologian Lv 60
    Macros are there to make the game easier to control, not play for you.

    To that end the first and foremost thing they need to do is make macros responsive enough that you can actually USE them. They need to fix the system before they expand on it.

    If they manage that, I wouldn't mind if they put in cast sequence macros. /wait is really just a poor mans version of it that backfires if you have to move.
    (0)

  9. #9
    Player
    DefendPopPunk's Avatar
    Join Date
    Aug 2013
    Posts
    768
    Character
    Carson Warson
    World
    Siren
    Main Class
    Carpenter Lv 68
    Lol. Just seems to me that writing logic like that could easily lead to someone having the game play itself. Even if that's a slippery slope, I think they didn't want to let it even get to the point of being an issue.
    (0)