It is currently 21 Aug 2025, 17:03
   
Text Size

Bug Reports (snapshot builds)

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Bug Reports (snapshot builds)

Postby moomarc » 11 Sep 2012, 11:28

I'm getting a crash at the end of each turn if there is a planeswalker in play. Looks like the problem is in Combat.initiatePossibleDefenders.
Crash report | Open
forge.game.player.HumanPlayer cannot be cast to forge.Card


Version:
Forge version SVN

OS: Windows 7 Version: 6.1 Architecture: x86

Java Version: 1.6.0_35 Vendor: Sun Microsystems Inc.

Detailed error trace:
java.lang.ClassCastException: forge.game.player.HumanPlayer cannot be cast to forge.Card
at forge.Card.compareTo(Card.java:1)
at java.util.TreeMap.put(Unknown Source)
at forge.game.phase.Combat.initiatePossibleDefenders(Combat.java:117)
at forge.game.phase.Combat.reset(Combat.java:97)
at forge.game.phase.PhaseUtil.handleUntap(PhaseUtil.java:88)
at forge.game.phase.PhaseHandler.handleBeginPhase(PhaseHandler.java:325)
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 11 Sep 2012, 12:14

moomarc wrote:I'm getting a crash at the end of each turn if there is a planeswalker in play. Looks like the problem is in Combat.initiatePossibleDefenders.
Crash report | Open
forge.game.player.HumanPlayer cannot be cast to forge.Card


Version:
Forge version SVN

OS: Windows 7 Version: 6.1 Architecture: x86

Java Version: 1.6.0_35 Vendor: Sun Microsystems Inc.

Detailed error trace:
java.lang.ClassCastException: forge.game.player.HumanPlayer cannot be cast to forge.Card
at forge.Card.compareTo(Card.java:1)
at java.util.TreeMap.put(Unknown Source)
at forge.game.phase.Combat.initiatePossibleDefenders(Combat.java:117)
at forge.game.phase.Combat.reset(Combat.java:97)
at forge.game.phase.PhaseUtil.handleUntap(PhaseUtil.java:88)
at forge.game.phase.PhaseHandler.handleBeginPhase(PhaseHandler.java:325)
Hmmm.. In Combat, See if changing

private Map<GameEntity, CardList> defenderMap = new TreeMap<GameEntity, CardList>();

to

private Map<GameEntity, CardList> defenderMap = new HashMap<GameEntity, CardList>(); helps at all
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby moomarc » 11 Sep 2012, 12:27

friarsol wrote:
moomarc wrote:I'm getting a crash at the end of each turn if there is a planeswalker in play. Looks like the problem is in Combat.initiatePossibleDefenders.
Crash report | Open
forge.game.player.HumanPlayer cannot be cast to forge.Card


Version:
Forge version SVN

OS: Windows 7 Version: 6.1 Architecture: x86

Java Version: 1.6.0_35 Vendor: Sun Microsystems Inc.

Detailed error trace:
java.lang.ClassCastException: forge.game.player.HumanPlayer cannot be cast to forge.Card
at forge.Card.compareTo(Card.java:1)
at java.util.TreeMap.put(Unknown Source)
at forge.game.phase.Combat.initiatePossibleDefenders(Combat.java:117)
at forge.game.phase.Combat.reset(Combat.java:97)
at forge.game.phase.PhaseUtil.handleUntap(PhaseUtil.java:88)
at forge.game.phase.PhaseHandler.handleBeginPhase(PhaseHandler.java:325)
Hmmm.. In Combat, See if changing

private Map<GameEntity, CardList> defenderMap = new TreeMap<GameEntity, CardList>();

to

private Map<GameEntity, CardList> defenderMap = new HashMap<GameEntity, CardList>(); helps at all
Seems to have done the trick. Should I commit that change or is there anything else you want to check first?

Edit: Meh, just commited the fix. If it's stopped something else from working then it's four letters to revert. :P
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Bug Reports (snapshot builds)

Postby moomarc » 11 Sep 2012, 14:11

Looks like pumped "May be played" keywords don't get removed from instants or sorceries when cast or countered. Affects Aerial Caravan, Elkin Bottle etc. Is there an easy way to clear the keyword when you cast it do we need to start converting them to Play AFs?
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 11 Sep 2012, 14:24

moomarc wrote:Seems to have done the trick. Should I commit that change or is there anything else you want to check first?

Edit: Meh, just commited the fix. If it's stopped something else from working then it's four letters to revert. :P
I was just going to use a hashmap to begin with, but for whatever reason the rest of those were already TreeMaps, so I just followed that. But I guess since GameEntities aren't comparable it can't use a TreeMap from Card -> Player.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby moomarc » 11 Sep 2012, 14:34

moomarc wrote:Looks like pumped "May be played" keywords don't get removed from instants or sorceries when cast or countered. Affects Aerial Caravan, Elkin Bottle etc. Is there an easy way to clear the keyword when you cast it do we need to start converting them to Play AFs?
I think this is fixed now. Just duplicated the block in GameAction.changeZone that removes these types of keywords from permanents entering play, then changed the destination zone to graveyard. Can anyone think of a situation this won't work? Basic testing works fine.
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Bug Reports (snapshot builds)

Postby Bundy » 12 Sep 2012, 15:23

Forge Snapshot 1.2.14-20120912.104753-4
Got this error after choosing a color for the counter on Coalition Relic:

Code: Select all
This is a Crash Report. An error has occurred. Please save this message to a file.
Please follow the instructions at this address to submit this Crash Report, plus what you were doing at the time:
   http://tinyurl.com/3zzrnyb
Reporting bugs in Forge is very important. We thank you for your time.

For input string: "X"


Version:
Forge version 1.2.14-SNAPSHOT

OS: Windows 7 Version: 6.1 Architecture: x86

Java Version: 1.7.0_07 Vendor: Oracle Corporation

Detailed error trace:
java.lang.NumberFormatException: For input string: "X"
   at java.lang.NumberFormatException.forInputString(Unknown Source)
   at java.lang.Integer.parseInt(Unknown Source)
   at java.lang.Integer.parseInt(Unknown Source)
   at forge.card.abilityfactory.AbilityFactory.calculateAmount(AbilityFactory.java:1784)
   at forge.card.abilityfactory.AbilityFactoryMana.generatedMana(AbilityFactoryMana.java:428)
   at forge.card.abilityfactory.AbilityFactoryMana.manaResolve(AbilityFactoryMana.java:388)
   at forge.card.abilityfactory.AbilityFactoryMana$1abFactoryMana.resolve(AbilityFactoryMana.java:86)
   at forge.card.abilityfactory.AbilityFactory.resolve(AbilityFactory.java:2842)
   at forge.card.spellability.SpellAbilityRequirements.finishPaying(SpellAbilityRequirements.java:190)
   at forge.card.cost.CostPayment.payCost(CostPayment.java:227)
   at forge.card.cost.CostPayment.paidCost(CostPayment.java:190)
   at forge.card.cost.CostMana.payHuman(CostMana.java:219)
   at forge.card.cost.CostPayment.payCost(CostPayment.java:221)
   at forge.card.spellability.SpellAbilityRequirements.startPaying(SpellAbilityRequirements.java:179)
   at forge.card.spellability.SpellAbilityRequirements.needPayment(SpellAbilityRequirements.java:165)
   at forge.card.spellability.SpellAbilityRequirements.fillRequirements(SpellAbilityRequirements.java:132)
   at forge.GameAction.playSpellAbilityNoStack(GameAction.java:2051)
   at forge.card.trigger.TriggerHandler$2.resolve(TriggerHandler.java:993)
   at forge.card.abilityfactory.AbilityFactory.resolve(AbilityFactory.java:2842)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:940)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:881)
   at forge.game.player.ComputerAIGeneral.playSpellAbilities(ComputerAIGeneral.java:345)
   at forge.control.input.InputControl.updateInput(InputControl.java:260)
   at forge.gui.GuiInput.update(GuiInput.java:58)
   at java.util.Observable.notifyObservers(Unknown Source)
   at java.util.Observable.notifyObservers(Unknown Source)
   at forge.util.MyObservable.updateObservers(MyObservable.java:41)
   at forge.control.input.InputControl.resetInput(InputControl.java:146)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:870)
   at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:76)
   at forge.gui.GuiInput.selectButtonOK(GuiInput.java:92)
   at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:52)
   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:89)
   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: Bug Reports (snapshot builds)

Postby Milod » 12 Sep 2012, 20:36

error while cpu uses trapanation blade

This is a Crash Report. An error has occurred. Please save this message to a file.
Please follow the instructions at this address to submit this Crash Report, plus what you were doing at the time:
http://tinyurl.com/3zzrnyb
Reporting bugs in Forge is very important. We thank you for your time.

For input string: "X"


Version:
Forge version 1.2.14-SNAPSHOT

OS: Windows 7 Version: 6.1 Architecture: x86

Java Version: 1.7.0_06 Vendor: Oracle Corporation

Detailed error trace:
java.lang.NumberFormatException: For input string: "X"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at forge.card.abilityfactory.AbilityFactory.calculateAmount(AbilityFactory.java:1784)
at forge.card.abilityfactory.AbilityFactoryPump.getNumAttack(AbilityFactoryPump.java:264)
at forge.card.abilityfactory.AbilityFactoryPump.pumpStackDescription(AbilityFactoryPump.java:1283)
at forge.card.abilityfactory.AbilityFactoryPump.access$200(AbilityFactoryPump.java:63)
at forge.card.abilityfactory.AbilityFactoryPump$1DrawbackPump.getStackDescription(AbilityFactoryPump.java:231)
at forge.card.spellability.SpellAbilityStackInstance.<init>(SpellAbilityStackInstance.java:91)
at forge.card.spellability.SpellAbilityStackInstance.<init>(SpellAbilityStackInstance.java:107)
at forge.game.zone.MagicStack.push(MagicStack.java:890)
at forge.game.zone.MagicStack.add(MagicStack.java:473)
at forge.game.player.ComputerUtil.playStack(ComputerUtil.java:355)
at forge.game.zone.MagicStack.chooseOrderOfSimultaneousStackEntry(MagicStack.java:1390)
at forge.game.zone.MagicStack.chooseOrderOfSimultaneousStackEntryAll(MagicStack.java:1345)
at forge.game.phase.PhaseHandler.setPriority(PhaseHandler.java:171)
at forge.game.phase.PhaseHandler.resetPriority(PhaseHandler.java:184)
at forge.game.phase.PhaseHandler.handleBeginPhase(PhaseHandler.java:491)
at forge.control.input.InputControl.updateInput(InputControl.java:203)
at forge.gui.GuiInput.update(GuiInput.java:58)
at java.util.Observable.notifyObservers(Unknown Source)
at java.util.Observable.notifyObservers(Unknown Source)
at forge.util.MyObservable.updateObservers(MyObservable.java:41)
at forge.game.phase.PhaseHandler.nextPhase(PhaseHandler.java:588)
at forge.game.phase.PhaseHandler.nextPhase(PhaseHandler.java:592)
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:89)
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$000(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)
Milod
 
Posts: 360
Joined: 20 Jul 2011, 08:57
Has thanked: 4 times
Been thanked: 5 times

Re: Bug Reports (snapshot builds)

Postby moomarc » 13 Sep 2012, 07:45

Milod wrote:error while cpu uses Trepanation Blade
Code: Select all
For input string: "X"...
Fixed. Thanks Milod!
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Bug Reports (snapshot builds)

Postby moomarc » 13 Sep 2012, 07:55

Bundy wrote:Got this error after choosing a color for the counter on Coalition Relic
Fixed. Thanks Bundy!

On a side note this card needs some tweaking so that you can add different colors of mana for each counter removed.
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Bug Reports (snapshot builds)

Postby Sloth » 13 Sep 2012, 08:25

Why is there no longer a fallback to the cards SVar?

I'm sure there will be dozens of missing references on triggers. And there isn't even a card that copies triggered abilities.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Bug Reports (snapshot builds)

Postby moomarc » 13 Sep 2012, 09:19

Game crashes whenever the AI starts with a card with Kicker in its hand (probably at any time with a Kicker card in hand but only playing 2 round test games at the moment).
Crash | Open
java.lang.ArrayIndexOutOfBoundsException: 1
at forge.card.spellability.SpellPermanent.checkETBEffects(SpellPermanent.java:433)
at forge.card.spellability.SpellPermanent.canPlayFromEffectAI(SpellPermanent.java:381)
at forge.card.spellability.SpellPermanent.canPlayAI(SpellPermanent.java:305)
at forge.game.player.ComputerUtil.canBePlayedAndPayedByAI(ComputerUtil.java:47)...
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Bug Reports (snapshot builds)

Postby Sloth » 13 Sep 2012, 11:02

moomarc wrote:Game crashes whenever the AI starts with a card with Kicker in its hand (probably at any time with a Kicker card in hand but only playing 2 round test games at the moment).
Crash | Open
java.lang.ArrayIndexOutOfBoundsException: 1
at forge.card.spellability.SpellPermanent.checkETBEffects(SpellPermanent.java:433)
at forge.card.spellability.SpellPermanent.canPlayFromEffectAI(SpellPermanent.java:381)
at forge.card.spellability.SpellPermanent.canPlayAI(SpellPermanent.java:305)
at forge.game.player.ComputerUtil.canBePlayedAndPayedByAI(ComputerUtil.java:47)...
Fixed! Thanks marc.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Bug Reports (snapshot builds)

Postby jeffwadsworth » 13 Sep 2012, 14:36

Ver. 16830. A null pointer.
The previous turn I had cast Oblivion Ring and targeted the AI's Black Vise.
When my end of turn came around, the error occurred. Screenshot attached.
Attachments
error.jpg
jeffwadsworth
Super Tester Elite
 
Posts: 1172
Joined: 20 Oct 2010, 04:47
Location: USA
Has thanked: 287 times
Been thanked: 70 times

Re: Bug Reports (snapshot builds)

Postby Jaedayr » 13 Sep 2012, 16:26

I have Creakwood Liege and Sigil Captain in play. At the beginning of my upkeep I get a 3/3 token wurm with 2 +1/+1 counters on it making it 5/5. I ran across this and wonder if this is a bug in Forge or not.

http://forums.mtgsalvation.com/showthre ... wood+liege
Jaedayr
Tester
 
Posts: 523
Joined: 08 Jul 2010, 00:06
Has thanked: 16 times
Been thanked: 13 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 6 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 6 users online :: 0 registered, 0 hidden and 6 guests (based on users active over the past 10 minutes)
Most users ever online was 7303 on 15 Jul 2025, 20:46

Users browsing this forum: No registered users and 6 guests

Login Form