Bug Reports (snapshot builds)
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Agetian, friarsol, Blacksmith, KrazyTheFox, CCGHQ Admins
Re: Bug Reports (snapshot builds)
by Hanmac » 02 Aug 2016, 18:16
@friarsol: to late i did fix it! ;P
(after a long go though step-per-step debugging)
i was the culprit, when i did something with Remember for PlayEffect,
i seems to forgot to change some of the methods for ComputerUtil.
(so that it does return true, the SA does think that the spell was cast and does remember the spell, and the ChangeZone does not remove it from exile)
good that i found it before release! XD
(after a long go though step-per-step debugging)
i was the culprit, when i did something with Remember for PlayEffect,
i seems to forgot to change some of the methods for ComputerUtil.
(so that it does return true, the SA does think that the spell was cast and does remember the spell, and the ChangeZone does not remove it from exile)
good that i found it before release! XD
Re: Bug Reports (snapshot builds)
by friarsol » 02 Aug 2016, 18:19
I noticed last night that the madness cost for spells wasn't showing. Was one of your recent commits to fix that?Hanmac wrote:good that i found it before release! XD
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by Hanmac » 02 Aug 2016, 18:27
if you mean instant and Sorcery, yeah that was r31846friarsol wrote:I noticed last night that the madness cost for spells wasn't showing. Was one of your recent commits to fix that?Hanmac wrote:good that i found it before release! XD
you can't image what kind of sour face i make after i noticed: abilityTextInstantSorcery
(that was the reason why madness was printed differently)
any good reason why we need that part twice compared to the other stuff we have at keywordsToText ?
that result in some funny problems, like the stuff that does print Emerge was in the wrong section.
(i am currently wondering why Emerge does have without ":" like "K:Emerge 6 G G G" while Morph has with like "K:Morph:3 R R R", imo that should be done in the same way, preffering ":")
r31847 was the one that got Madness for AI working
Re: Bug Reports (snapshot builds)
by friarsol » 02 Aug 2016, 18:44
It's been around for basically ever. I'm not really sure why the divide exists, there were definitely certain cards (like Puncture Blast) that CDP was wrong for a while because of it. I think the main issue is that SpellPermanents shouldn't print their base spell in the card detail panel (Like the part that says "This is a creature") whereas base non-permanents need to.Hanmac wrote:any good reason why we need that part twice compared to the other stuff we have at keywordsToText ?
that result in some funny problems, like the stuff that does print Emerge was in the wrong section.
I bet it could be flattened without any significant issues.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by Marek14 » 02 Aug 2016, 19:43
Yeah, I asked about that in the EMN thread, but never got an answerHanmac wrote:(i am currently wondering why Emerge does have without ":" like "K:Emerge 6 G G G" while Morph has with like "K:Morph:3 R R R", imo that should be done in the same way, preffering ":")
Re: Bug Reports (snapshot builds)
by fmartel » 03 Aug 2016, 14:06
Description: [Browsing through the card library]
- MissingFormatArgumentException | Open
- Code: Select all
Forge Version: 1.5.56-SNAPSHOT-r31863
Operating System: Windows 7 6.1 amd64
Java Version: 1.7.0_25 Oracle Corporation
java.util.MissingFormatArgumentException: Format specifier 's'
at java.util.Formatter.format(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.lang.String.format(Unknown Source)
at forge.game.keyword.KeywordWithType.formatReminderText(KeywordWithType.java:19)
at forge.game.keyword.KeywordInstance.getReminderText(KeywordInstance.java:15)
at forge.game.card.Card.keywordsToText(Card.java:1432)
at forge.game.card.Card.getAbilityText(Card.java:1624)
at forge.game.card.CardView$CardStateView.updateAbilityText(CardView.java:1005)
at forge.game.card.CardView$CardStateView.updateKeywords(CardView.java:1016)
at forge.game.card.Card.addIntrinsicKeyword(Card.java:3239)
at forge.game.card.CardFactory.readCardFace(CardFactory.java:449)
at forge.game.card.CardFactory.readCard(CardFactory.java:412)
at forge.game.card.CardFactory.getCard(CardFactory.java:261)
at forge.game.card.CardFactory.getCard(CardFactory.java:256)
at forge.game.card.Card.fromPaperCard(Card.java:6740)
at forge.game.card.Card.getCardForUi(Card.java:6748)
at forge.game.card.CardView.getCardForUi(CardView.java:40)
at forge.screens.match.controllers.CDetailPicture.showItem(CDetailPicture.java:58)
at forge.screens.deckeditor.CDeckEditorUI.setCard(CDeckEditorUI.java:83)
at forge.screens.deckeditor.CDeckEditorUI$7.valueChanged(CDeckEditorUI.java:253)
at forge.itemmanager.views.ItemView.onSelectionChange(ItemView.java:278)
at forge.itemmanager.views.ItemListView$ItemTableModel$1.valueChanged(ItemListView.java:620)
at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
at javax.swing.DefaultListSelectionModel.setSelectionInterval(Unknown Source)
at javax.swing.JTable.changeSelectionModel(Unknown Source)
at javax.swing.JTable.changeSelection(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI$Actions.actionPerformed(Unknown Source)
at javax.swing.SwingUtilities.notifyAction(Unknown Source)
at javax.swing.JComponent.processKeyBinding(Unknown Source)
at javax.swing.JTable.processKeyBinding(Unknown Source)
at javax.swing.JComponent.processKeyBindings(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
- fmartel
- Posts: 281
- Joined: 31 Dec 2013, 19:27
- Location: Québec City
- Has thanked: 8 times
- Been thanked: 4 times
Re: Bug Reports (snapshot builds)
by Hanmac » 03 Aug 2016, 17:17
Another rule:
i tested Bog initiate, and it causes a Exception:605.3c
A new rule that says once you begin to activate a mana ability, you can't activate it again until the original activation resolves. The addresses a corner case involving mana filters like Bog Initiate. You could activate the ability, which requires a payment of. Great! Now you have a chance to activate mana abilities, so you activate Bog Initiate again. Great! Now you have a chance to activate mana abilities, so you activate Bog initiate again. Great! Now you...you see where this is going. At the end of all of that, the result is the same as if you just activated it once. Additionally, digital Magic really wants to not care about any of this. So we just closed the loophole.
and then this:Game-15 > java.lang.RuntimeException: Cannot remove input InputPayManaOfCostPayment because it's not on top of stack. Stack = [PayManaBaseleft, PayManaBase
left, PayManaBase
left, PayManaBase
left, PayManaBase
left, PayManaBase
left, PayManaBase
left, PayManaBase
left, PayManaBase
left, PayManaBase
left, PayManaBase
left, PayManaBase
left]
at forge.match.input.InputQueue.removeInput(InputQueue.java:57)
at forge.match.input.InputSyncronizedBase.stop(InputSyncronizedBase.java:51)
at forge.match.input.InputPayMana.onStateChanged(InputPayMana.java:438)
at forge.match.input.InputPayMana$1.run(InputPayMana.java:301)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
we might need to find a way to apply this rule 605.3c into forge.Game-33 > java.lang.StackOverflowError
at com.google.common.collect.AbstractMapBasedMultimap.get(AbstractMapBasedMultimap.java:304)
at com.google.common.collect.AbstractListMultimap.get(AbstractListMultimap.java:66)
at com.google.common.collect.ArrayListMultimap.get(ArrayListMultimap.java:66)
at com.google.common.collect.AbstractListMultimap.get(AbstractListMultimap.java:36)
at forge.game.mana.ManaPool.accountFor(ManaPool.java:305)
at forge.game.spellability.SpellAbility.undo(SpellAbility.java:868)
at forge.game.mana.ManaPool.refundManaPaid(ManaPool.java:344)
at forge.game.mana.ManaPool.refundManaPaid(ManaPool.java:349)
at forge.game.mana.ManaPool.refundManaPaid(ManaPool.java:349)
at forge.game.mana.ManaPool.refundManaPaid(ManaPool.java:349)
Re: Bug Reports (snapshot builds)
by Hanmac » 04 Aug 2016, 09:01
Transcendence + Opponent's Tainted Remedy
http://magicjudge.tumblr.com/post/148348029993/suppose-i-control-transcendence-and-my-opponent
the ruling says it should be a loop and end in a draw.
(Forge does still miss a check for endless loops)
what Forge currently does:
it reduces life until it hits negative (in increasing steps)
until it seems to hit an overflow, causing the life to be > 20
and i lose the game.
(for a test it was funny to watch)
i think the best way would be if we somehow get it working that Forge can detect if a loop is endless. (like if no Spell or Ability can be activated, and there is no finite end for that. The last part might be a bit more complicated.)
hm i might take a look how to end the game in a draw for an Effect.
(also for some missing cards)
http://magicjudge.tumblr.com/post/148348029993/suppose-i-control-transcendence-and-my-opponent
the ruling says it should be a loop and end in a draw.
(Forge does still miss a check for endless loops)
what Forge currently does:
it reduces life until it hits negative (in increasing steps)
until it seems to hit an overflow, causing the life to be > 20
and i lose the game.
(for a test it was funny to watch)
i think the best way would be if we somehow get it working that Forge can detect if a loop is endless. (like if no Spell or Ability can be activated, and there is no finite end for that. The last part might be a bit more complicated.)
hm i might take a look how to end the game in a draw for an Effect.
(also for some missing cards)
Re: Bug Reports (snapshot builds)
by tjtillman » 04 Aug 2016, 13:29
r31852
after successful resolution, Give No Ground does not allow the player to block any number of creatures, could only block one
after successful resolution, Give No Ground does not allow the player to block any number of creatures, could only block one
Re: Bug Reports (snapshot builds)
by Hanmac » 04 Aug 2016, 18:05
some Bug with Permeating Mass:
(its about cloning a clone of a clone ;P)
My Mass does transform Opp Creature A.
CreatureA does transform one of my Jaddi Offshoot. (CreatureB)
CreatureB does transform Opp Creature C. (while my CreatureB dies this way)
the CreatureC is turned into Jaddi Offshoot, but with the image of Permeating Mass.
===
i did try TriggeredSource, but that does turn it into a full Jaddi Offshoot including the image.
while TriggeredSourceLKICopy works like it was before with the Self
we might need to have a better value for having a LKI value.
Or something need to be changed in GameAction.changeZone.
===
a change in GameAction.changeZone, get its working on the Battlefield,
but it breaks the creature in the graveyard
i will try out if i can fix it.
===
try to use CardUtil.getLKICopy for the source in setTriggeringObjects,
but it does not work because the value get somehow reset with null.
i tryout some StackTrace to see what is going on.
===
i seems i got it working for the Mass using getChangeZoneLKIInfo
but that does break other cloners like Dimir Doppelganger
need better way to fix that :/
===
Edit:
i finally got it fixed, the problem was my change in LKI copy,
it should not copy the zone, otherwise WrappedAbility does fuk it up. :/
(its about cloning a clone of a clone ;P)
My Mass does transform Opp Creature A.
CreatureA does transform one of my Jaddi Offshoot. (CreatureB)
CreatureB does transform Opp Creature C. (while my CreatureB dies this way)
the CreatureC is turned into Jaddi Offshoot, but with the image of Permeating Mass.
i did try TriggeredSource, but that does turn it into a full Jaddi Offshoot including the image.
while TriggeredSourceLKICopy works like it was before with the Self
we might need to have a better value for having a LKI value.
Or something need to be changed in GameAction.changeZone.
===
a change in GameAction.changeZone, get its working on the Battlefield,
but it breaks the creature in the graveyard
i will try out if i can fix it.
===
try to use CardUtil.getLKICopy for the source in setTriggeringObjects,
but it does not work because the value get somehow reset with null.
i tryout some StackTrace to see what is going on.
===
i seems i got it working for the Mass using getChangeZoneLKIInfo
but that does break other cloners like Dimir Doppelganger
need better way to fix that :/
===
Edit:
i finally got it fixed, the problem was my change in LKI copy,
it should not copy the zone, otherwise WrappedAbility does fuk it up. :/
Last edited by Hanmac on 05 Aug 2016, 04:37, edited 2 times in total.
Re: Bug Reports (snapshot builds)
by fmartel » 04 Aug 2016, 20:54
Description: [In a commander game, Oponent cloned his tokens with Rhys, the game went "waiting for oponent", then conceded the game]
- ConcurrentModificationException | Open
- Code: Select all
Forge Version: 1.5.56-SNAPSHOT-r31874
Operating System: Windows 7 6.1 amd64
Java Version: 1.7.0_25 Oracle Corporation
java.util.ConcurrentModificationException
at java.util.LinkedList$ListItr.checkForComodification(Unknown Source)
at java.util.LinkedList$ListItr.next(Unknown Source)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:646)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at forge.util.collect.FCollection.<init>(FCollection.java:90)
at forge.game.card.CardCollection.<init>(CardCollection.java:115)
at forge.game.card.CardLists.filter(CardLists.java:255)
at forge.game.player.Player.getCreaturesInPlay(Player.java:2421)
at forge.game.combat.CombatUtil.canBlock(CombatUtil.java:426)
at forge.game.combat.CombatUtil.canBlock(CombatUtil.java:932)
at forge.game.combat.CombatUtil.canBlock(CombatUtil.java:912)
at forge.ai.ComputerUtilCombat$2.apply(ComputerUtilCombat.java:139)
at forge.ai.ComputerUtilCombat$2.apply(ComputerUtilCombat.java:136)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at forge.util.collect.FCollection.<init>(FCollection.java:90)
at forge.game.card.CardCollection.<init>(CardCollection.java:115)
at forge.game.card.CardLists.filter(CardLists.java:255)
at forge.ai.ComputerUtilCombat.getTotalFirstStrikeBlockPower(ComputerUtilCombat.java:136)
at forge.ai.AiAttackController.declareAttackers(AiAttackController.java:852)
at forge.ai.ComputerUtilCard.doesCreatureAttackAI(ComputerUtilCard.java:412)
at forge.ai.ComputerUtilCard.shouldPumpCard(ComputerUtilCard.java:1087)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:444)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:441)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at forge.util.collect.FCollection.<init>(FCollection.java:90)
at forge.game.card.CardCollection.<init>(CardCollection.java:115)
at forge.game.card.CardLists.filter(CardLists.java:255)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:441)
at forge.ai.ability.PumpAi.pumpTgtAI(PumpAi.java:269)
at forge.ai.ability.PumpAi.canPlayAI(PumpAi.java:204)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:28)
at forge.ai.AiController.canPlaySa(AiController.java:649)
at forge.ai.AiController.canPlayAndPayFor(AiController.java:636)
at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1331)
at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1308)
at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1247)
at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:391)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:919)
at forge.game.GameAction.startGame(GameAction.java:1460)
at forge.game.Match.startGame(Match.java:95)
at forge.match.HostedMatch$2.run(HostedMatch.java:220)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
- fmartel
- Posts: 281
- Joined: 31 Dec 2013, 19:27
- Location: Québec City
- Has thanked: 8 times
- Been thanked: 4 times
Re: Bug Reports (snapshot builds)
by drdev » 06 Aug 2016, 17:18
I've noticed recently that static effects like P/T changes or animated lands are back to flickering constantly as you move between phases. Did something break with that recently? It's especially bad on Android right now.
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Bug Reports (snapshot builds)
by Agetian » 06 Aug 2016, 17:25
Yes, it's very noticeable now...drdev wrote:I've noticed recently that static effects like P/T changes or animated lands are back to flickering constantly as you move between phases. Did something break with that recently? It's especially bad on Android right now.
I noticed it most commonly occurs with auras, e.g. a land enchanted with Wind Zendikon usually flickers terribly (and what's worse, can even disappear from the battlefield altogether until a phase change - this happens very rarely but it happens). It also happens with Theros block Gods, and also in cases you mentioned.
- Agetian
- Agetian
- Programmer
- Posts: 3490
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by stormcat » 09 Aug 2016, 17:13
:r31926
In Commander game, I cast "Marath, Will of the Wild" from command zone, Marath become 0/0.
In Commander game, I cast "Marath, Will of the Wild" from command zone, Marath become 0/0.
Re: Bug Reports (snapshot builds)
by Darkholme » 11 Aug 2016, 03:41
Description: Went to start a custom draft with a fantasy block.
Thought maybe it was behaving differently than I expected with the duplicate sets, tried it again without them
Throws the same error when I pick CORE/CORE/CORE.
- Code: Select all
(3) Casual '96-'03 B, 5/10/7ED, Meta-JoinedSet(5ED 6ED 7ED)CORE Meta-JoinedSet(TMP STH EXO)TEMP Meta-JoinedSet(NMS PCY INV INV INV PLS APC APC ODY ODY ODY ODY ODY TOR TOR TOR JUD)EXP
Thought maybe it was behaving differently than I expected with the duplicate sets, tried it again without them
- Code: Select all
(3) Casual '96-'03 B, 5/10/7ED, Meta-JoinedSet(5ED 6ED 7ED)CORE Meta-JoinedSet(TMP STH EXO)TEMP Meta-JoinedSet(NMS PCY INV PLS APC ODY TOR JUD)EXP
Throws the same error when I pick CORE/CORE/CORE.
- ArrayIndexOutOfBoundsException | Open
- Code: Select all
Forge Version: 1.5.56-SNAPSHOT-r31940
Operating System: Windows 7 6.1 x86
Java Version: 1.8.0_45 Oracle Corporation
java.lang.ArrayIndexOutOfBoundsException: 3
at forge.limited.BoosterDraft.generateProduct(BoosterDraft.java:122)
at forge.limited.BoosterDraft.createDraft(BoosterDraft.java:65)
at forge.screens.home.sanctioned.CSubmenuDraft.setupDraft(CSubmenuDraft.java:186)
at forge.screens.home.sanctioned.CSubmenuDraft.access$100(CSubmenuDraft.java:39)
at forge.screens.home.sanctioned.CSubmenuDraft$3.run(CSubmenuDraft.java:73)
at forge.toolbox.FLabel._doMouseAction(FLabel.java:314)
at forge.toolbox.FLabel.access$1300(FLabel.java:55)
at forge.toolbox.FLabel$6.onLeftClick(FLabel.java:352)
at forge.toolbox.FMouseAdapter.mouseReleased(FMouseAdapter.java:246)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
- Code: Select all
(3) Meta ' 96-'03, 3/6/7ED, Meta-Choose(JoinedSet(5ED 6ED 7ED)Core;Booster(5ED)5ED;Booster(6ED)6ED;Booster(7ED)7ED;JoinedSet(5ED 6ED)5-6;JoinedSet(6ED 7ED)6-7)CORE Meta-Choose(JoinedSet(TMP STH EXO USG ULG UDS MMQ NMS PCY INV PLS APC ODY TOR JUD ONS LGN SCG)Expansions;JoinedSet(5ED 6ED 7ED)Core;JoinedSet(TMP STH EXO)Tempest;JoinedSet(USG ULG UDS)Urza;JoinedSet(MMQ NMS PCY)Masques;JoinedSet(INV PLS APC)Invasion;JoinedSet(ODY TOR JUD)Odyssey;JoinedSet(ONS LGN SCG)Onslaught;JoinedSet(TMP STH EXO USG ULG UDS)Tempest&Urza;JoinedSet(USG ULG UDS MMQ NMS PCY)Urza&Masques;JoinedSet(MMQ NMS PCY INV PLS APC)Masques&Invasion;JoinedSet(PCY INV PLS APC ODY TOR)Prophecy-Torment;JoinedSet(INV PLS APC ODY TOR JUD)Invasion&Odyssey;JoinedSet(ODY TOR JUD ONS LGN SCG)Odyssey&Onslaught)EXPs
Who is online
Users browsing this forum: No registered users and 16 guests
. Great! Now you have a chance to activate mana abilities, so you activate Bog Initiate again. Great! Now you have a chance to activate mana abilities, so you activate Bog initiate again. Great! Now you...you see where this is going. At the end of all of that, the result is the same as if you just activated it once. Additionally, digital Magic really wants to not care about any of this. So we just closed the loophole.