Page 3 of 10

Re: Forge Beta: 06-28-2013 ver 1.4.2

PostPosted: 30 Jun 2013, 05:31
by Niv-Mizzet
Wow, mad props to whoever was involved in finally implementing banding. Not that everyone was clamoring for Benalish Hero but it seems like that potentially fills in a lot of the gaps from those older sets.

=D>

Re: Forge Beta: 06-28-2013 ver 1.4.2

PostPosted: 30 Jun 2013, 08:04
by saturnine
Description: Switching Section views in the Deck Editor. This bug was in 1.4.1 AFAIK, and is incredibly annoying. No luck with fixing this yet?

NullPointerException | Open
Code: Select all
Forge Version:    1.4.2-r22320
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_25 Oracle Corporation

java.lang.NullPointerException
   at forge.card.CardDb$PredicateExistsInSets.apply(CardDb.java:373)
   at forge.card.CardDb$PredicateExistsInSets.apply(CardDb.java:363)
   at com.google.common.base.Predicates$AndPredicate.apply(Predicates.java:343)
   at com.google.common.base.Predicates$AndPredicate.apply(Predicates.java:343)
   at com.google.common.base.Predicates$OrPredicate.apply(Predicates.java:377)
   at com.google.common.base.Predicates$CompositionPredicate.apply(Predicates.java:536)
   at com.google.common.collect.Iterators$7.computeNext(Iterators.java:702)
   at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
   at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
   at forge.item.ItemPool.addAll(ItemPool.java:151)
   at forge.gui.deckeditor.tables.EditorTableModel.addCards(EditorTableModel.java:167)
   at forge.gui.deckeditor.tables.EditorTableView.updateView(EditorTableView.java:488)
   at forge.gui.deckeditor.tables.EditorTableView.setDeckImpl(EditorTableView.java:347)
   at forge.gui.deckeditor.tables.EditorTableView.setDeck(EditorTableView.java:319)
   at forge.gui.deckeditor.controllers.CEditorConstructed.cycleEditorMode(CEditorConstructed.java:246)
   at forge.gui.deckeditor.controllers.CEditorConstructed$2.run(CEditorConstructed.java:322)
   at forge.gui.toolbox.FLabel._doMouseAction(FLabel.java:309)
   at forge.gui.toolbox.FLabel.access$1300(FLabel.java:51)
   at forge.gui.toolbox.FLabel$6.mouseClicked(FLabel.java:345)
   at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
   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$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)

Re: Forge Beta: 06-28-2013 ver 1.4.2

PostPosted: 30 Jun 2013, 08:28
by Sloth
Haytrid wrote:OK, I just downloaded Forge for the first time yesterday. Is this the proper format to report crashes/bugs? Thanks!

Description: Playing a sealed deck tourney with "all sets". Crashed during the computers main phase when he cast "Benediction of Moons"

NullPointerException | Open
Code: Select all
Forge Version:    1.4.2-r22320
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_25 Oracle Corporation

java.lang.NullPointerException
   at forge.game.zone.MagicStack$1.resolve(MagicStack.java:550)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:530)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:877)
   at forge.game.GameAction.startGame(GameAction.java:1465)
   at forge.game.Match$1.run(Match.java:105)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Fixed! Thanks Haytrid.

zxc wrote:Description: Computer tried to play Changeling Titan, then game crashed. Sorry, forgot to take a screenshot before closing.

NullPointerException | Open
Code: Select all
Forge Version:    1.4.2-r22320
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_21 Oracle Corporation

java.lang.NullPointerException
   at forge.game.GameAction.reveal(GameAction.java:1414)
   at forge.game.GameAction.reveal(GameAction.java:1410)
   at forge.card.ability.ai.ChangeZoneAi.hiddenOriginResolveAI(ChangeZoneAi.java:1390)
   at forge.card.ability.effects.ChangeZoneEffect.changeHiddenOriginResolve(ChangeZoneEffect.java:580)
   at forge.card.ability.effects.ChangeZoneEffect.resolve(ChangeZoneEffect.java:352)
   at forge.card.spellability.AbilitySub.resolve(AbilitySub.java:130)
   at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1032)
   at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1015)
   at forge.game.ai.ComputerUtil.playNoStack(ComputerUtil.java:330)
   at forge.card.trigger.WrappedAbility.resolve(WrappedAbility.java:363)
   at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1032)
   at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1015)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:528)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:877)
   at forge.game.GameAction.startGame(GameAction.java:1465)
   at forge.game.Match$1.run(Match.java:105)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
freddyjsg wrote:In an AI Vs AI game, when one of them put 5 Thoughtweft Trio onto the battlefield with Rite of Replication:

NullPointerException | Open
Code: Select all
Forge Version:    1.4.2-r22320
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_25 Oracle Corporation

java.lang.NullPointerException
   at forge.game.GameAction.reveal(GameAction.java:1414)
   at forge.game.GameAction.reveal(GameAction.java:1410)
   at forge.card.ability.ai.ChangeZoneAi.hiddenOriginResolveAI(ChangeZoneAi.java:1390)
   at forge.card.ability.effects.ChangeZoneEffect.changeHiddenOriginResolve(ChangeZoneEffect.java:580)
   at forge.card.ability.effects.ChangeZoneEffect.resolve(ChangeZoneEffect.java:352)
   at forge.card.spellability.AbilitySub.resolve(AbilitySub.java:130)
   at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1032)
   at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1015)
   at forge.game.ai.ComputerUtil.playNoStack(ComputerUtil.java:330)
   at forge.card.trigger.WrappedAbility.resolve(WrappedAbility.java:363)
   at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1032)
   at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1015)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:528)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:877)
   at forge.game.GameAction.startGame(GameAction.java:1465)
   at forge.game.Match$1.run(Match.java:105)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
EDIT:
Also at another AI Vs AI, when one of them cast Changeling Titan:


NullPointerException | Open
Code: Select all
Forge Version:    1.4.2-r22320
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_25 Oracle Corporation

java.lang.NullPointerException
   at forge.game.GameAction.reveal(GameAction.java:1414)
   at forge.game.GameAction.reveal(GameAction.java:1410)
   at forge.card.ability.ai.ChangeZoneAi.hiddenOriginResolveAI(ChangeZoneAi.java:1390)
   at forge.card.ability.effects.ChangeZoneEffect.changeHiddenOriginResolve(ChangeZoneEffect.java:580)
   at forge.card.ability.effects.ChangeZoneEffect.resolve(ChangeZoneEffect.java:352)
   at forge.card.spellability.AbilitySub.resolve(AbilitySub.java:130)
   at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1032)
   at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1015)
   at forge.game.ai.ComputerUtil.playNoStack(ComputerUtil.java:330)
   at forge.card.trigger.WrappedAbility.resolve(WrappedAbility.java:363)
   at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1032)
   at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1015)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:528)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:877)
   at forge.game.GameAction.startGame(GameAction.java:1465)
   at forge.game.Match$1.run(Match.java:105)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Fixed! Thanks zxc and freddyjsg.

Haytrid wrote:Description: Game crashed when computer attacked me with a Silhana Ledgewalker

NullPointerException | Open
Code: Select all
Forge Version:    1.4.2-r22320
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_25 Oracle Corporation

java.lang.NullPointerException
   at forge.game.combat.Combat.getAttackersOf(Combat.java:100)
   at forge.game.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:222)
   at forge.game.ai.ComputerUtilCombat.wouldLoseLife(ComputerUtilCombat.java:341)
   at forge.card.ability.ai.DamagePreventAi.canPlayAI(DamagePreventAi.java:124)
   at forge.card.ability.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:18)
   at forge.card.ability.AbilityApiBased.canPlayAI(AbilityApiBased.java:67)
   at forge.game.ai.AiController.canPlayAndPayFor(AiController.java:478)
   at forge.game.ai.AiController.chooseSpellAbilyToPlay(AiController.java:462)
   at forge.game.ai.AiController.getSpellAbilityToPlay(AiController.java:816)
   at forge.game.ai.AiController.playSpellAbilities(AiController.java:790)
   at forge.game.ai.AiController.onPriorityRecieved(AiController.java:738)
   at forge.game.player.PlayerControllerAi.takePriority(PlayerControllerAi.java:339)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:847)
   at forge.game.GameAction.startGame(GameAction.java:1465)
   at forge.game.Match$1.run(Match.java:105)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Haytrid wrote:Description: Game crashed during the DB stage after being attacked by an absolver thrull

NullPointerException | Open
Code: Select all
Forge Version:    1.4.2-r22320
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_25 Oracle Corporation

java.lang.NullPointerException
   at forge.game.combat.Combat.getAttackersOf(Combat.java:100)
   at forge.game.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:222)
   at forge.game.ai.ComputerUtilCombat.wouldLoseLife(ComputerUtilCombat.java:341)
   at forge.card.ability.ai.DamagePreventAi.canPlayAI(DamagePreventAi.java:124)
   at forge.card.ability.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:18)
   at forge.card.ability.AbilityApiBased.canPlayAI(AbilityApiBased.java:67)
   at forge.game.ai.AiController.canPlayAndPayFor(AiController.java:478)
   at forge.game.ai.AiController.chooseSpellAbilyToPlay(AiController.java:462)
   at forge.game.ai.AiController.getSpellAbilityToPlay(AiController.java:816)
   at forge.game.ai.AiController.playSpellAbilities(AiController.java:790)
   at forge.game.ai.AiController.onPriorityRecieved(AiController.java:738)
   at forge.game.player.PlayerControllerAi.takePriority(PlayerControllerAi.java:339)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:847)
   at forge.game.GameAction.startGame(GameAction.java:1465)
   at forge.game.Match$1.run(Match.java:105)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Fixed! Thanks Haytrid.

Re: Forge Beta: 06-28-2013 ver 1.4.2

PostPosted: 30 Jun 2013, 15:05
by friarsol
Niv-Mizzet wrote:Wow, mad props to whoever was involved in finally implementing banding. Not that everyone was clamoring for Benalish Hero but it seems like that potentially fills in a lot of the gaps from those older sets.

=D>
:: takes a bow ::

Edit: And of course, thanks to Swordshine for scripting most of the Banding cards after it was functional.

Re: Forge Beta: 06-28-2013 ver 1.4.2

PostPosted: 30 Jun 2013, 17:06
by SecretCaveman
The AI cast Condemn on my Ulamog's Crusher in my "Declare Attacker" step. Get the error after it resolved.

NullPointerException | Open
Code: Select all
Forge Version:    1.4.2-r22320
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_25 Oracle Corporation

java.lang.NullPointerException
   at forge.game.combat.CombatUtil$2.resolve(CombatUtil.java:936)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:530)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:877)
   at forge.game.GameAction.startGame(GameAction.java:1465)
   at forge.game.Match$1.run(Match.java:105)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

Re: Forge Beta: 06-28-2013 ver 1.4.2

PostPosted: 30 Jun 2013, 17:38
by freddyjsg
Two more.
First, the AI seems to be paying replicate costs for auras, like Infiltrator's Magemark, when Djinn Illuminatus is on the battlefield.
Two, similar to a crash that i had with the AI and Purity using the mana from Smokebraider to cast it in 1.4.1:

RuntimeException | Open
Code: Select all
Forge Version:    1.4.2-r22320
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_25 Oracle Corporation

java.lang.RuntimeException: ComputerUtil : payManaCost() cost was not paid for Vigor. Didn't find what to pay for G
   at forge.game.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:213)
   at forge.game.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:62)
   at forge.card.cost.CostPartMana.payAI(CostPartMana.java:184)
   at forge.card.cost.CostPayment.payComputerCosts(CostPayment.java:190)
   at forge.game.ai.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:130)
   at forge.game.ai.AiController.playSpellAbilities(AiController.java:793)
   at forge.game.ai.AiController.onPriorityRecieved(AiController.java:738)
   at forge.game.player.PlayerControllerAi.takePriority(PlayerControllerAi.java:339)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:847)
   at forge.game.GameAction.startGame(GameAction.java:1465)
   at forge.game.Match$1.run(Match.java:105)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
This time it was Vigor, but the AI had 2 Forest in play, in addition to the Smokebraider as green mana sources

EDIT:
Also, here is another. I guess it was because of Mizzium Transreliquat ability, because of the report:

NullPointerException | Open
Code: Select all
Forge Version:    1.4.2-r22320
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_25 Oracle Corporation

java.lang.NullPointerException
   at forge.card.ability.ai.CloneAi.canPlayAI(CloneAi.java:49)
   at forge.card.ability.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:18)
   at forge.card.ability.AbilityApiBased.canPlayAI(AbilityApiBased.java:67)
   at forge.game.ai.AiController.canPlayAndPayFor(AiController.java:478)
   at forge.game.ai.AiController.chooseSpellAbilyToPlay(AiController.java:462)
   at forge.game.ai.AiController.getSpellAbilityToPlay(AiController.java:816)
   at forge.game.ai.AiController.playSpellAbilities(AiController.java:790)
   at forge.game.ai.AiController.onPriorityRecieved(AiController.java:738)
   at forge.game.player.PlayerControllerAi.takePriority(PlayerControllerAi.java:339)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:847)
   at forge.game.GameAction.startGame(GameAction.java:1465)
   at forge.game.Match$1.run(Match.java:105)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

Re: Forge Beta: 06-28-2013 ver 1.4.2

PostPosted: 30 Jun 2013, 22:07
by SecretCaveman
Ulamog's Crusher does 16 damage instead of 8 when attacking the turn it came into play if I give it haste with Battle Rampart

Edit: OK, can't reproduce this each time. Has to be something else that causes it. (I'm sure theres nothing that gives it doublestrike or something, going to take a screenshot next time)

Re: Forge Beta: 06-28-2013 ver 1.4.2

PostPosted: 30 Jun 2013, 23:11
by Dreago
Ravnica card Shadow of Doubt doesn't have any text? Don't know if it has any effect or not.

Re: Forge Beta: 06-28-2013 ver 1.4.2

PostPosted: 01 Jul 2013, 02:34
by Chris H.
Dreago wrote:Ravnica card Shadow of Doubt doesn't have any text? Don't know if it has any effect or not.
 
Fixed, it looks like there was a simple typo in the card script for this card. Thank you for the bug report Dreago. :)

Re: Forge Beta: 06-28-2013 ver 1.4.2

PostPosted: 01 Jul 2013, 05:27
by SunShintaBra
Opponent milled in a planechase game, stuck at draw step where he loses. Interface responds but can not pass turn or quit game.

Re: Forge Beta: 06-28-2013 ver 1.4.2

PostPosted: 01 Jul 2013, 08:49
by krishkrush
 Hero of Bladehold activates its token ability two times (and its other ability as well).
Edit: I cannot achieve this after some testing, only the AI was able to do this (but every time). Okay I checked the log again and found that the Hero is handled as two cards? But with the same ID ...

| Open
Match result: Human: 0 Alexander: 1
Game outcome: Alexander has won because all opponents have lost
Game outcome: You have lost because life total reached 0
Damage: Soldier (1073) deals 5 combat damage to Human.
Damage: Soldier (1054) deals 6 combat damage to Human.
Damage: Soldier (1052) deals 6 combat damage to Human.
Damage: Soldier (1071) deals 5 combat damage to Human.
Damage: Hero of Bladehold (136) deals 8 combat damage to Human.
Phase: Alexander's Combat Damage
Phase: Alexander's First Strike Damage
Combat: Human didn't block Hero of Bladehold (136).
Human didn't block Soldier (1071).
Human didn't block Soldier (1052).
Human didn't block Soldier (1054).
Human didn't block Soldier (1073).
Phase: Alexander's Declare Blockers
Resolve stack: Vault of the Archangel (139) - Creatures you control gain deathtouch and lifelink until end of turn.
Add to stack: Alexander activated Vault of the Archangel (139).
Resolve stack: Battle cry (Whenever this creature attacks, each other attacking creature gets +1/+0 until end of turn.)
Resolve stack: Whenever Hero of Bladehold attacks, put two 1/1 white Soldier creature tokens onto the battlefield tapped and attacking.
Resolve stack: Battle cry (Whenever this creature attacks, each other attacking creature gets +1/+0 until end of turn.)
Resolve stack: Whenever Hero of Bladehold attacks, put two 1/1 white Soldier creature tokens onto the battlefield tapped and attacking.
Add to stack: Alexander activated Hero of Bladehold (136).
Add to stack: Alexander activated Hero of Bladehold (136).
Add to stack: Alexander activated Hero of Bladehold (136).
Add to stack: Alexander activated Hero of Bladehold (136).
Combat: Alexander assigned Hero of Bladehold (136) and Hero of Bladehold (136) to attack Human.
Phase: Alexander's Declare Attackers
Phase: Alexander's Begin Combat
Land: Alexander played Vault of the Archangel (124)
Replacement Effect: You may have CARDNAME enter the battlefield tapped as a copy of any land on the battlefield.
Phase: Alexander's Main, precombat
Resolve stack: Swords to Plowshares (151) - Swords to Plowshares - Exile. gains 0 life.
Add to stack: Alexander cast Swords to Plowshares (151) targeting .
Phase: Alexander's Draw
Phase: Alexander's Upkeep
Phase: Alexander's Untap
Turn: Turn 14 (Alexander)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Phase: Human's Declare Blockers
Combat: Human didn't attack this turn.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Maelstrom Nexus
Resolve stack: Cultivate (25) - - Human searches his/her's library for 1 Land.Basic and puts that card onto the battlefield tapped. Then shuffle that library. Human searches his/her's library for 1 Land.Basic and puts that card into its owner's hand. Then shuffle that library.
Resolve stack: Maelstrom Nexus (57) - Cascade.
Add to stack: Human cast Cultivate (25).
Add to stack: Human activated Maelstrom Nexus (57).
Add to stack: Human cast Maelstrom Nexus (57).
Mana: Forest (35) - Tap: Add G to your mana pool.
Mana: Plains (42) - Tap: Add W to your mana pool.
Mana: Mountain (52) - Tap: Add R to your mana pool.
Mana: Island (7) - Tap: Add U to your mana pool.
Mana: Swamp (31) - Tap: Add B to your mana pool.
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 13 (Human)
Phase: Alexander's Cleanup
Phase: Alexander's End of Turn
Resolve stack: Hero of Bladehold - Creature 3 / 4
Add to stack: Alexander cast Hero of Bladehold (136).
Phase: Alexander's Main, postcombat
Phase: Alexander's End Combat
Phase: Alexander's Combat Damage
Phase: Alexander's First Strike Damage
Phase: Alexander's Declare Blockers
Combat: Alexander didn't attack this turn.
Phase: Alexander's Declare Attackers
Phase: Alexander's Begin Combat
Land: Alexander played Plains (122)
Phase: Alexander's Main, precombat
Phase: Alexander's Draw
Phase: Alexander's Upkeep
Phase: Alexander's Untap
Turn: Turn 12 (Alexander)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Phase: Human's Declare Blockers
Combat: Human didn't attack this turn.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Evolving Wilds (6) - - Human searches his/her's library for 1 Land.Basic and puts that card onto the battlefield tapped. Then shuffle that library.
Add to stack: Human activated Evolving Wilds (6).
Resolve stack: Child of Alara - Creature 6 / 6
Resolve stack: Maelstrom Pulse (26) - Destroy . Maelstrom Pulse - Destroy permanents.
Resolve stack: Child of Alara (45) - Cascade.
Add to stack: Human cast Maelstrom Pulse (26) targeting .
Add to stack: Human activated Child of Alara (45).
Add to stack: Human cast Child of Alara (45).
Mana: Plains (42) - Tap: Add W to your mana pool.
Mana: Mountain (52) - Tap: Add R to your mana pool.
Mana: Island (7) - Tap: Add U to your mana pool.
Mana: Swamp (31) - Tap: Add B to your mana pool.
Mana: Forest (38) - Tap: Add G to your mana pool.
Land: Human played Evolving Wilds (6)
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 11 (Human)
Phase: Alexander's Cleanup
Phase: Alexander's End of Turn
Phase: Alexander's Main, postcombat
Phase: Alexander's End Combat
Damage: Spirit (344) deals 4 combat damage to Human.
Damage: Spirit (346) deals 4 combat damage to Human.
Damage: Spirit (342) deals 4 combat damage to Human.
Phase: Alexander's Combat Damage
Phase: Alexander's First Strike Damage
Combat: Human didn't block Spirit (342).
Human didn't block Spirit (346).
Human didn't block Spirit (344).
Phase: Alexander's Declare Blockers
Combat: Alexander assigned Spirit (342), Spirit (344) and Spirit (346) to attack Human.
Phase: Alexander's Declare Attackers
Phase: Alexander's Begin Combat
Resolve stack: Honor of the Pure
Add to stack: Alexander cast Honor of the Pure (138).
Resolve stack: Intangible Virtue
Add to stack: Alexander cast Intangible Virtue (95).
Land: Alexander played Isolated Chapel (130)
Phase: Alexander's Main, precombat
Phase: Alexander's Draw
Phase: Alexander's Upkeep
Phase: Alexander's Untap
Turn: Turn 10 (Alexander)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Phase: Human's Declare Blockers
Combat: Human didn't attack this turn.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Maelstrom Nexus
Add to stack: Human cast Maelstrom Nexus (58).
Mana: Plains (42) - Tap: Add W to your mana pool.
Mana: Mountain (52) - Tap: Add R to your mana pool.
Mana: Island (7) - Tap: Add U to your mana pool.
Mana: Swamp (31) - Tap: Add B to your mana pool.
Mana: Forest (38) - Tap: Add G to your mana pool.
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 9 (Human)
Phase: Alexander's Cleanup
Phase: Alexander's End of Turn
Resolve stack: Spectral Procession (145) - Put (3) 1/1 Spirit tokens onto the battlefield.
Add to stack: Alexander cast Spectral Procession (145).
Phase: Alexander's Main, postcombat
Phase: Alexander's End Combat
Phase: Alexander's Combat Damage
Phase: Alexander's First Strike Damage
Phase: Alexander's Declare Blockers
Combat: Alexander didn't attack this turn.
Phase: Alexander's Declare Attackers
Phase: Alexander's Begin Combat
Land: Alexander played Vault of the Archangel (139)
Phase: Alexander's Main, precombat
Phase: Alexander's Draw
Phase: Alexander's Upkeep
Phase: Alexander's Untap
Turn: Turn 8 (Alexander)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Phase: Human's Declare Blockers
Combat: Human didn't attack this turn.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Swords to Plowshares (150) - Swords to Plowshares - Exile. gains 0 life.
Add to stack: Alexander cast Swords to Plowshares (150) targeting .
Resolve stack: Child of Alara - Creature 6 / 6
Add to stack: Human cast Child of Alara (46).
Mana: Plains (42) - Tap: Add W to your mana pool.
Mana: Mountain (52) - Tap: Add R to your mana pool.
Mana: Island (7) - Tap: Add U to your mana pool.
Mana: Swamp (31) - Tap: Add B to your mana pool.
Mana: Forest (38) - Tap: Add G to your mana pool.
Land: Human played Forest (38)
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 7 (Human)
Phase: Alexander's Cleanup
Phase: Alexander's End of Turn
Phase: Alexander's Main, postcombat
Phase: Alexander's End Combat
Phase: Alexander's Combat Damage
Phase: Alexander's First Strike Damage
Phase: Alexander's Declare Blockers
Combat: Alexander didn't attack this turn.
Phase: Alexander's Declare Attackers
Phase: Alexander's Begin Combat
Land: Alexander played Plains (121)
Phase: Alexander's Main, precombat
Phase: Alexander's Draw
Phase: Alexander's Upkeep
Phase: Alexander's Untap
Turn: Turn 6 (Alexander)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Phase: Human's Declare Blockers
Combat: Human didn't attack this turn.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Harrow (11) - - Human searches his/her's library for 2 Land.Basic and puts those cards onto the battlefield. Then shuffle that library.
Add to stack: Human cast Harrow (11).
Mana: Island (7) - Tap: Add U to your mana pool.
Mana: Forest (39) - Tap: Add G to your mana pool.
Mana: Swamp (31) - Tap: Add B to your mana pool.
Land: Human played Island (7)
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 5 (Human)
Phase: Alexander's Cleanup
Phase: Alexander's End of Turn
Resolve stack: Intangible Virtue
Add to stack: Alexander cast Intangible Virtue (94).
Phase: Alexander's Main, postcombat
Phase: Alexander's End Combat
Phase: Alexander's Combat Damage
Phase: Alexander's First Strike Damage
Phase: Alexander's Declare Blockers
Combat: Alexander didn't attack this turn.
Phase: Alexander's Declare Attackers
Phase: Alexander's Begin Combat
Land: Alexander played Plains (117)
Phase: Alexander's Main, precombat
Phase: Alexander's Draw
Phase: Alexander's Upkeep
Phase: Alexander's Untap
Turn: Turn 4 (Alexander)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Phase: Human's Declare Blockers
Combat: Human didn't attack this turn.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Evolving Wilds (5) - - Human searches his/her's library for 1 Land.Basic and puts that card onto the battlefield tapped. Then shuffle that library.
Add to stack: Human activated Evolving Wilds (5).
Land: Human played Evolving Wilds (5)
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 3 (Human)
Phase: Alexander's Cleanup
Phase: Alexander's End of Turn
Phase: Alexander's Main, postcombat
Phase: Alexander's End Combat
Phase: Alexander's Combat Damage
Phase: Alexander's First Strike Damage
Phase: Alexander's Declare Blockers
Combat: Alexander didn't attack this turn.
Phase: Alexander's Declare Attackers
Phase: Alexander's Begin Combat
Land: Alexander played Scrubland (109)
Phase: Alexander's Main, precombat
Phase: Alexander's Draw
Phase: Alexander's Upkeep
Phase: Alexander's Untap
Turn: Turn 2 (Alexander)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Phase: Human's Declare Blockers
Combat: Human didn't attack this turn.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Evolving Wilds (4) - - Human searches his/her's library for 1 Land.Basic and puts that card onto the battlefield tapped. Then shuffle that library.
Add to stack: Human activated Evolving Wilds (4).
Land: Human played Evolving Wilds (4)
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 1 (Human)
Mulligan: Alexander has kept a hand of 7 cards
Mulligan: Human has kept a hand of 7 cards

Re: Forge Beta: 06-28-2013 ver 1.4.2

PostPosted: 01 Jul 2013, 09:37
by zxc
Is there a way to use cards from the hand whose purpose is to add mana to the pool? I tried using Seething Song when prompted to pay mana costs for another card, but it didn't work. I couldn't use Simian Spirit Guide either. Sorry if this has been noted somewhere or I'm missing something obvious.

Also, I'm not sure if this is possible to implement, but the stack doesn't resolve as it should for a particular use of Avarice Totem.

From Wizards' site:

It is possible to activate this ability in response to itself and generate some odd combinations. For example, if you control this card and another permanent, you can use this card's ability and target the permanent you control. You can then use this card's ability again and target a permanent your opponent controls. The second usage resolves first and you get your opponent's permanent in exchange for this one. The first usage then resolves and swaps your other permanent for the Totem so you get it back. The net effect is that you can swap any non-land permanent you have for any of theirs if you can activate this ability twice. Note that your opponent does get the chance to use the Totem in between the resolutions of your two usages if they have the mana.
When I tried, both usages just fizzled.

Re: Forge Beta: 06-28-2013 ver 1.4.2

PostPosted: 01 Jul 2013, 12:09
by Doerk
Description: Crashed on AI's turn when attacking with White Knight.

Edit: "Crashed" means: I couldn't anything after the error message.

NullPointerException | Open
Code: Select all
Forge Version:    1.4.2-r22320
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_17 Oracle Corporation

java.lang.NullPointerException
   at forge.game.combat.Combat.getAttackersOf(Combat.java:100)
   at forge.game.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:222)
   at forge.game.ai.ComputerUtilCombat.wouldLoseLife(ComputerUtilCombat.java:341)
   at forge.card.ability.ai.DamagePreventAi.canPlayAI(DamagePreventAi.java:124)
   at forge.card.ability.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:18)
   at forge.card.ability.SpellApiBased.canPlayAI(SpellApiBased.java:49)
   at forge.game.ai.AiController.canPlayAndPayFor(AiController.java:478)
   at forge.game.ai.AiController.chooseSpellAbilyToPlay(AiController.java:462)
   at forge.game.ai.AiController.getSpellAbilityToPlay(AiController.java:816)
   at forge.game.ai.AiController.playSpellAbilities(AiController.java:790)
   at forge.game.ai.AiController.onPriorityRecieved(AiController.java:738)
   at forge.game.player.PlayerControllerAi.takePriority(PlayerControllerAi.java:339)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:847)
   at forge.game.GameAction.startGame(GameAction.java:1465)
   at forge.game.Match$1.run(Match.java:105)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

Re: Forge Beta: 06-28-2013 ver 1.4.2

PostPosted: 01 Jul 2013, 12:18
by friarsol
zxc wrote:Is there a way to use cards from the hand whose purpose is to add mana to the pool? I tried using Seething Song when prompted to pay mana costs for another card, but it didn't work. I couldn't use Simian Spirit Guide either. Sorry if this has been noted somewhere or I'm missing something obvious.
Seeting Song is not a mana ability. It's an instant. Similarly, Dark Ritual used to be a Mana Ability (back around Tempest) so it was uncounterable, but it was changed where you have to cast it first. You should be able to use Elvish/Simian Spirit Guide as a mana ability. I believe this used to work, so if someone can repro this as not working then that's a bug.

Re: Forge Beta: 06-28-2013 ver 1.4.2

PostPosted: 01 Jul 2013, 12:42
by Doomlord
When I control Consecrated Sphinx and the AI draws a card, the dialogue box where I choose weather to draw cards from the sphinx tells me the name of the card my opponent drew.