Shortcut/Macro System #3516
Shortcut/Macro System #3516
Conversation
| @@ -138,6 +138,7 @@ public void testLandDoesNotLooseOtherAbilities() { | |||
| /* | |||
| NOTE: this test is currently failing due to bug in code. See issue #3072 | |||
| */ | |||
| /* | |||
drmDev
Jun 21, 2017
Contributor
Why are these tests being removed? They fail currently due to bugs in code and should be preserved until we resolve the issues. If you believe the tests are inaccurate, i.e. an issue with the testing framework itself, then @ignore annotation is more appropriate than commenting out tests (otherwise we cannot find them again)
Why are these tests being removed? They fail currently due to bugs in code and should be preserved until we resolve the issues. If you believe the tests are inaccurate, i.e. an issue with the testing framework itself, then @ignore annotation is more appropriate than commenting out tests (otherwise we cannot find them again)
| @@ -138,6 +138,7 @@ public void testLandDoesNotLooseOtherAbilities() { | |||
| /* | |||
| NOTE: this test is currently failing due to bug in code. See issue #3072 | |||
| */ | |||
| /* | |||
drmDev
Jun 21, 2017
Contributor
Why are these tests being removed? They fail currently due to bugs in code and should be preserved until we resolve the issues. If you believe the tests are inaccurate, i.e. an issue with the testing framework itself, then @ignore annotation is more appropriate than commenting out tests (otherwise we cannot find them again)
Why are these tests being removed? They fail currently due to bugs in code and should be preserved until we resolve the issues. If you believe the tests are inaccurate, i.e. an issue with the testing framework itself, then @ignore annotation is more appropriate than commenting out tests (otherwise we cannot find them again)
|
|
||
| protected void waitForResponse(Game game) { | ||
| if(!recordingMacro && pullResponseFromQueue(game)) return; |
Simown
Jun 21, 2017
Contributor
Not a fan of these conditions and execution on the same line. Condition at least should go on a new line indented - it's hard to see code flow especially with the return inline here.
Not a fan of these conditions and execution on the same line. Condition at least should go on a new line indented - it's hard to see code flow especially with the return inline here.
| } | ||
|
|
||
| public String toString() { | ||
| String res = new String(); |
ingmargoudt
Jun 23, 2017
Contributor
why a new String() here?
why a new String() here?
|
There are a couple problems remaining in this. These are probably okay as long as players are aware that if they select a card while recording and that card isn't a choice later on that the macro won't work and that the players ask if anyone will want to interrupt and if so how many iterations are okay to run. |
|
Out of curiosity, does this work with casting something from hand? Like say having paradox engine in play and shrieking drake? (Infinite mana, infinite storm count) |
|
Yes it was testing with Haze of Rage, Paradox Engine, and mana rocks to cast it with buyback. So cast, storm trigger resolves, copies resolve, paradox engine resolves, original resolves and returns to hand, repeat. As a warning it can get quite slow after 50 or so iterations just because of how the mage engine works, but storm 50 is usually enough. |
|
Thanks for your contribution. |
|
Does it do the Eggs Loop Combo? |
|
Yes, it will do the Eggs Loop Combo. Tested using Pyrite Spellbomb, Faith's Reward, and Conjurer's Bauble, making mana with both Krark Clan Ironworks with Chromatic Stars or with Lotus Blooms. |
|
About the Eggs Combo. |
|
The final kill process of the Eggs Loop Combo can be automated. The setup, where new cards have to be added from your library to your hand to the battlefield to the graveyard and back cannot be automated. The set of cards to be included in the loop must be completely present and selectable during the first iteration. |
Added a system for recording shorcuts and executing them a set number of times. Likely still needs some UX work and automated tests. Solves the issue raised in #2147 with something very similar to the proposed solution.
Had a lot of help from @bhomer7 designing and testing it. We tested Kitchen Finks/Viscera Seer/Vizier of Remedies, Whispers of the Muse/Paradox Engine, Vizier of Remedies/Devoted Druid, Haze of Rage/Paradox Engine and all were able to work, though it can take a while to execute large numbers of iterations.