Suspect Trigger Loop behaviour

I’m raising this one cautiously because I know it that it easily be my error but I think I’ve seen this enough times to be suspicious of something broken in the loop part of Trigger Action.

The latest occurrence is this:-

  1. In my module, some setup logic deals out cards;
    Initiated via a Trigger Action that fires off a key sequence as follows:
    sets a property or two
    fires 1 or 2 GKCs to deal cards from 1 or 2 decks
    ends by doing a report and setting some more properties

  2. To this logic, I inserted another key command that initiates an entirely seperate Trigger Action; separate pieces involved, separate properties, relatively simple criteria.
    My first attempt used the LOOP feature of the new Trigger Action; no matter what variations of loop I tried, this would trigger some bizarre behaviour of various kinds; always involving an infinite loop (sometimes reams of error messages, other times just hanging).
    At one point, it was as if the Trigger Key Command, was being repeated multiple times (initially, I used the same KC as dealt one of the decks - there is no logic in the module that would repeat that KC once it was activated).
    OK; so far this could be some conflict I overlooked but like I say, the pieces and property names are entirely separate.

The fix was to not use the loop. All the other elements of the solution, the trigger, property references and the actions taken remained the same. Instead of a loop, I used an over-loaded GKC draw (multiple items from the deck but use a comparison in the Condition to limit the number actually drawn… exactly the same comparison that failed to work when I tried it in the trigger loop).

Before I consider distilling this down to a slimmed, repeatable example; I am just going to leave this report here and see if anyone else recognises the problem. If so, speak up and maybe it would be worth looking into further.


I’ve seen this too, couple days ago. But cannot repro it reliably.

My module has a Layer trait with three steps; Let’s say CTRL-N advances to the next step (or first step, when in the last one). When a unit is eliminated, it is reset to the first step. But instead of “reset” I went the fancy way and used a loop; CTRL-N until Step_Level==1;

Sometimes this will trigger an infinite loop. Easily solved using “reset” instead of a Loop.