Forge Beta: 03-01-2013 ver 1.3.9
by mtgrares
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Forge Beta: 03-01-2013 ver 1.3.9
by freddyjsg » 12 Mar 2013, 20:57
The game crashed when I was decked by my opponent. He had 2 Howling Mines on the battlefield.
Description: [describe what you were doing when the crash occurred]
Description: [describe what you were doing when the crash occurred]
- NullPointerException | Open
- Code: Select all
Forge Version: 1.3.9-r19953
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_13 Oracle Corporation
java.lang.NullPointerException
at forge.card.trigger.Trigger.requirementsCheck(Trigger.java:410)
at forge.card.trigger.TriggerHandler.runSingleTrigger(TriggerHandler.java:429)
at forge.card.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:385)
at forge.card.trigger.TriggerHandler.runTrigger(TriggerHandler.java:282)
at forge.game.phase.PhaseHandler.handleBeginPhase(PhaseHandler.java:396)
at forge.control.input.InputControl.getActualInput(InputControl.java:187)
at forge.gui.GuiInput.update(GuiInput.java:50)
at java.util.Observable.notifyObservers(Unknown Source)
at java.util.Observable.notifyObservers(Unknown Source)
at forge.util.MyObservable.updateObservers(MyObservable.java:38)
at forge.game.phase.PhaseHandler.nextPhase(PhaseHandler.java:515)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:732)
at forge.game.player.PlayerController.passPriority(PlayerController.java:70)
at forge.game.ai.AiInputCommon.showMessage(AiInputCommon.java:110)
at forge.gui.GuiInput.setInput(GuiInput.java:71)
at forge.gui.GuiInput.update(GuiInput.java:54)
at java.util.Observable.notifyObservers(Unknown Source)
at java.util.Observable.notifyObservers(Unknown Source)
at forge.util.MyObservable.updateObservers(MyObservable.java:38)
at forge.control.input.InputControl.resetInput(InputControl.java:141)
at forge.control.input.InputControl.resetInput(InputControl.java:137)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:740)
at forge.game.player.PlayerController.passPriority(PlayerController.java:70)
at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:77)
at forge.gui.GuiInput.selectButtonOK(GuiInput.java:80)
at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:57)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at forge.gui.toolbox.FButton$1.keyPressed(FButton.java:87)
at java.awt.Component.processKeyEvent(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)
Re: Forge Beta: 03-01-2013 ver 1.3.9
by gos » 12 Mar 2013, 22:18
When I make a copy of Triskelion (with Kiki-Jiki, Mirror Breaker) it doesn't come into play with any +1/+1 counters.
- gos
- Posts: 4369
- Joined: 03 Mar 2011, 15:21
- Location: Reykjavík, Iceland
- Has thanked: 231 times
- Been thanked: 232 times
Re: Forge Beta: 03-01-2013 ver 1.3.9
by gos » 13 Mar 2013, 17:07
I flickered Epochrasite with Momentary Blink. It did not return to play with 3 +1/+1 counters on it.
I put an Angel of Salvation into play with Æthermage's Touch, and then flickered it with Momentary Blink. It was still returned to my hand at the end of my turn.
I put an Angel of Salvation into play with Æthermage's Touch, and then flickered it with Momentary Blink. It was still returned to my hand at the end of my turn.
- gos
- Posts: 4369
- Joined: 03 Mar 2011, 15:21
- Location: Reykjavík, Iceland
- Has thanked: 231 times
- Been thanked: 232 times
Re: Forge Beta: 03-01-2013 ver 1.3.9
by jwallstone » 13 Mar 2013, 17:23
Two bugs:
1. AI playing the Splinterfright deck has a Mesmeric Orb out. Game hangs with the Mesmeric Orb trigger on the stack on its turn. On my turn, the Orb worked fine.
2. Tokens dying with Skullclamp attached do not give two cards.
1. AI playing the Splinterfright deck has a Mesmeric Orb out. Game hangs with the Mesmeric Orb trigger on the stack on its turn. On my turn, the Orb worked fine.
2. Tokens dying with Skullclamp attached do not give two cards.
- jwallstone
- Posts: 66
- Joined: 02 Mar 2012, 06:16
- Has thanked: 0 time
- Been thanked: 0 time
Re: Forge Beta: 03-01-2013 ver 1.3.9
by freddyjsg » 13 Mar 2013, 21:30
When my opponent tries to cast Brain Gorgers, the game crashes. Also when I cast Brain Gorgers, and my opponent doesn't sacrifice any creature, he ends in the grave, as if it were countered
Description: [describe what you were doing when the crash occurred]
Description: [describe what you were doing when the crash occurred]
- NullPointerException | Open
- Code: Select all
Forge Version: 1.3.9-r19953
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_13 Oracle Corporation
java.lang.NullPointerException
at forge.game.player.Player.isOpponentOf(Player.java:3083)
at forge.Card.canBeSacrificedBy(Card.java:9128)
at forge.game.GameAction.sacrifice(GameAction.java:1173)
at forge.game.GameActionUtil.payCostDuringAbilityResolve(GameActionUtil.java:583)
at forge.card.ability.AbilityUtils.handleUnlessCost(AbilityUtils.java:1113)
at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1202)
at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1005)
at forge.game.ai.ComputerUtil.playNoStack(ComputerUtil.java:313)
at forge.card.trigger.WrappedAbility.resolve(WrappedAbility.java:443)
at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1200)
at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1005)
at forge.game.zone.MagicStack.resolveStack(MagicStack.java:844)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:735)
at forge.game.player.PlayerController.passPriority(PlayerController.java:70)
at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:77)
at forge.gui.GuiInput.selectButtonOK(GuiInput.java:80)
at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:57)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at forge.gui.toolbox.FButton$1.keyPressed(FButton.java:87)
at java.awt.Component.processKeyEvent(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)
Re: Forge Beta: 03-01-2013 ver 1.3.9
by ChaossssMark » 14 Mar 2013, 03:54
Could somebody test what happens when you activate Deadeye Navigator multiple times in a turn?
I'm getting something called "stack overflow" whenever I do that...
I'm getting something called "stack overflow" whenever I do that...
Last edited by Chris H. on 14 Mar 2013, 11:39, edited 1 time in total.
Reason: mouseover
Reason: mouseover
- ChaossssMark
- Posts: 25
- Joined: 04 Feb 2013, 18:24
- Has thanked: 2 times
- Been thanked: 0 time
Re: Forge Beta: 03-01-2013 ver 1.3.9
by slapshot5 » 14 Mar 2013, 04:29
Yes, I can confirm this is a problem. Looks like we have an infinite recursion in Card.getController()ChaossssMark wrote:Could somebody test what happens when you activate Deadeye Navigator multiple times in a turn?
I'm getting something called "stack overflow" whenever I do that...
Description: Activate the ability of Deadeye Navigator
- StackOverflowError | Open
- Code: Select all
Forge Version: SVN
Operating System: Mac OS X 10.6.8 x86_64
Java Version: 1.6.0_43 Apple Inc.
java.lang.StackOverflowError
at forge.Card.getController(Card.java:3583)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getController(Card.java:3587)
at forge.Card.getCo
... (truncated)
-slapshot5
- slapshot5
- Programmer
- Posts: 1391
- Joined: 03 Jan 2010, 17:47
- Location: Mac OS X
- Has thanked: 25 times
- Been thanked: 68 times
Re: Forge Beta: 03-01-2013 ver 1.3.9
by Bundy » 14 Mar 2013, 11:56
Description: I cast Ivory Tower.
In play on the computers side: 2 Islands, Tanglebloom and Sea Eagle.
In play on my side: Faerie Conclave and Dread Statuary (which i used to pay for the Ivory Tower).
In play on the computers side: 2 Islands, Tanglebloom and Sea Eagle.
In play on my side: Faerie Conclave and Dread Statuary (which i used to pay for the Ivory Tower).
- NullPointerException | Open
- Code: Select all
Forge Version: 1.3.9-r19953
Operating System: Windows 8 6.2 x86
Java Version: 1.7.0_17 Oracle Corporation
java.lang.NullPointerException
at forge.game.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:63)
at forge.game.ai.ComputerUtilCost.canPayCost(ComputerUtilCost.java:360)
at forge.card.ability.SpellAbilityAi.doTriggerAI(SpellAbilityAi.java:26)
at forge.card.spellability.AbilitySub.doTrigger(AbilitySub.java:133)
at forge.card.spellability.SpellPermanent.checkETBEffects(SpellPermanent.java:487)
at forge.card.spellability.SpellPermanent.checkETBEffects(SpellPermanent.java:391)
at forge.game.ai.AiController.getPossibleETBCounters(AiController.java:152)
at forge.game.ai.AiController.getSpellAbilityToPlay(AiController.java:96)
at forge.game.ai.AiInputCommon.playSpellAbilities(AiInputCommon.java:161)
at forge.game.ai.AiInputCommon.showMessage(AiInputCommon.java:82)
at forge.gui.GuiInput.setInput(GuiInput.java:71)
at forge.gui.GuiInput.update(GuiInput.java:54)
at java.util.Observable.notifyObservers(Unknown Source)
at java.util.Observable.notifyObservers(Unknown Source)
at forge.util.MyObservable.updateObservers(MyObservable.java:38)
at forge.control.input.InputControl.resetInput(InputControl.java:141)
at forge.control.input.InputControl.resetInput(InputControl.java:137)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:740)
at forge.game.player.PlayerController.passPriority(PlayerController.java:70)
at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:77)
at forge.gui.GuiInput.selectButtonOK(GuiInput.java:80)
at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:57)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at forge.gui.toolbox.FButton$1.keyPressed(FButton.java:87)
at java.awt.Component.processKeyEvent(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)
- Bundy
- Posts: 348
- Joined: 17 Dec 2010, 17:32
- Location: The netherlands
- Has thanked: 23 times
- Been thanked: 3 times
Re: Forge Beta: 03-01-2013 ver 1.3.9
by RumbleBBU » 14 Mar 2013, 13:43
Possibly a stupid comment...I may remember incorrectly how Phasing was supposed to work (it's been ages since). But anyway.
The AI tries to StP my Rainbow Efreet. In response, I pay
and phase the Efreet out. When things on stack resolve, the phased-out Rainbow Efreet is removed from the game by the StP. Is this how Phasing is supposed to work?
The AI tries to StP my Rainbow Efreet. In response, I pay


Re: Forge Beta: 03-01-2013 ver 1.3.9
by freddyjsg » 14 Mar 2013, 15:47
When my opponent cast Urban Evolution the game crashed.
Description: [describe what you were doing when the crash occurred]
Description: [describe what you were doing when the crash occurred]
- RuntimeException | Open
- Code: Select all
Forge Version: 1.3.10-SNAPSHOT-r20320
Operating System: Windows XP 5.1 x86
Java Version: 1.7.0_09 Oracle Corporation
java.lang.RuntimeException: AbilityFactoryMana::manaResolve() - any color mana choice is empty for Verdant Haven
at forge.card.ability.effects.ManaEffect.resolve(ManaEffect.java:153)
at forge.card.ability.AbilityApiBased.resolve(AbilityApiBased.java:62)
at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1217)
at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1018)
at forge.game.ai.ComputerUtil.playNoStack(ComputerUtil.java:313)
at forge.card.trigger.WrappedAbility.resolve(WrappedAbility.java:433)
at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1217)
at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1018)
at forge.game.ai.ComputerUtil.playNoStack(ComputerUtil.java:313)
at forge.card.trigger.TriggerHandler.runSingleTrigger(TriggerHandler.java:549)
at forge.card.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:327)
at forge.card.trigger.TriggerHandler.runWaitingTriggers(TriggerHandler.java:296)
at forge.game.zone.MagicStack.unfreezeStack(MagicStack.java:209)
at forge.game.zone.MagicStack.addAndUnfreeze(MagicStack.java:192)
at forge.game.ai.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:116)
at forge.game.ai.AiInputCommon.playSpellAbilities(AiInputCommon.java:164)
at forge.game.ai.AiInputCommon.showMessage(AiInputCommon.java:106)
at forge.gui.InputProxy.setInput(InputProxy.java:62)
at forge.control.input.InputControl.setNewInput(InputControl.java:256)
at forge.gui.InputProxy.update(InputProxy.java:49)
at java.util.Observable.notifyObservers(Unknown Source)
at java.util.Observable.notifyObservers(Unknown Source)
at forge.util.MyObservable.updateObservers(MyObservable.java:38)
at forge.game.phase.PhaseHandler.nextPhase(PhaseHandler.java:515)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:735)
at forge.game.player.PlayerController.passPriority(PlayerController.java:71)
at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:77)
at forge.gui.InputProxy.selectButtonOK(InputProxy.java:71)
at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:57)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at forge.gui.toolbox.FButton$1.keyPressed(FButton.java:87)
at java.awt.Component.processKeyEvent(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)
Re: Forge Beta: 03-01-2013 ver 1.3.9
by friarsol » 14 Mar 2013, 17:52
No. It should fizzle, a phased out card is not considered on the Battlefield for targeting. Something must have changed in the zone retrieval that's considering it still a legal target.RumbleBBU wrote:Possibly a stupid comment...I may remember incorrectly how Phasing was supposed to work (it's been ages since). But anyway.
The AI tries to StP my Rainbow Efreet. In response, I pay![]()
and phase the Efreet out. When things on stack resolve, the phased-out Rainbow Efreet is removed from the game by the StP. Is this how Phasing is supposed to work?
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Forge Beta: 03-01-2013 ver 1.3.9
by gos » 14 Mar 2013, 18:29
. Centaur Chieftain is granting +1/+1 when it enters the battlefield (if I have threshold), but not trample.
- gos
- Posts: 4369
- Joined: 03 Mar 2011, 15:21
- Location: Reykjavík, Iceland
- Has thanked: 231 times
- Been thanked: 232 times
Re: Forge Beta: 03-01-2013 ver 1.3.9
by freddyjsg » 14 Mar 2013, 22:56
Just cast Farseek and the game crashed
Description: [describe what you were doing when the crash occurred]
Description: [describe what you were doing when the crash occurred]
- NullPointerException | Open
- Code: Select all
Forge Version: 1.3.9-r19953
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_13 Oracle Corporation
java.lang.NullPointerException
at forge.game.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:63)
at forge.game.ai.ComputerUtilCost.canPayCost(ComputerUtilCost.java:360)
at forge.card.ability.SpellAbilityAi.doTriggerAI(SpellAbilityAi.java:26)
at forge.card.spellability.AbilitySub.doTrigger(AbilitySub.java:133)
at forge.card.spellability.SpellPermanent.checkETBEffects(SpellPermanent.java:487)
at forge.card.spellability.SpellPermanent.checkETBEffects(SpellPermanent.java:391)
at forge.game.ai.AiController.getPossibleETBCounters(AiController.java:152)
at forge.game.ai.AiController.getSpellAbilityToPlay(AiController.java:96)
at forge.game.ai.AiInputCommon.playSpellAbilities(AiInputCommon.java:161)
at forge.game.ai.AiInputCommon.showMessage(AiInputCommon.java:82)
at forge.gui.GuiInput.setInput(GuiInput.java:71)
at forge.gui.GuiInput.update(GuiInput.java:54)
at java.util.Observable.notifyObservers(Unknown Source)
at java.util.Observable.notifyObservers(Unknown Source)
at forge.util.MyObservable.updateObservers(MyObservable.java:38)
at forge.control.input.InputControl.resetInput(InputControl.java:141)
at forge.control.input.InputControl.resetInput(InputControl.java:137)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:740)
at forge.game.player.PlayerController.passPriority(PlayerController.java:70)
at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:77)
at forge.gui.GuiInput.selectButtonOK(GuiInput.java:80)
at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:57)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at forge.gui.toolbox.FButton$1.keyPressed(FButton.java:87)
at java.awt.Component.processKeyEvent(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)
Re: Forge Beta: 03-01-2013 ver 1.3.9
by Niv-Mizzet » 15 Mar 2013, 07:04
I had a germ token die when I moved its equipment to a different creature, and it made me sacrifice my Energy Field. I don't believe this is correct as it specifically triggers when a "card" is put into your graveyard.
-
Niv-Mizzet - Posts: 125
- Joined: 17 Oct 2009, 21:20
- Has thanked: 0 time
- Been thanked: 5 times
Re: Forge Beta: 03-01-2013 ver 1.3.9
by PsiOptics » 15 Mar 2013, 08:00
I was wondering the opposite if the rules of magic have changed or its a bug. My tokens that die when Skullclamp is equipped does not allow me to draw 2 cards.
Who is online
Users browsing this forum: No registered users and 17 guests