Bug Reports (snapshot builds)
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Bug Reports (snapshot builds)
by friarsol » 10 Apr 2013, 00:54
r20921
Description: Shade Quest AI had a Nether Traitor enchanted with a Shade's Form. When it went to declare an attacker I got this NPE.
Description: Shade Quest AI had a Nether Traitor enchanted with a Shade's Form. When it went to declare an attacker I got this NPE.
- NullPointerException | Open
- Code: Select all
Forge Version: SVN
Operating System: Windows 7 6.1 x86
Java Version: 1.6.0_30 Sun Microsystems Inc.
java.lang.NullPointerException
at forge.card.mana.ManaCostBeingPaid.applySpellCostChange(ManaCostBeingPaid.java:708)
at forge.game.ai.ComputerUtilMana.calculateManaCost(ComputerUtilMana.java:418)
at forge.game.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:60)
at forge.game.ai.ComputerUtilCost.canPayCost(ComputerUtilCost.java:356)
at forge.game.ai.ComputerUtilCombat.predictPowerBonusOfAttacker(ComputerUtilCombat.java:1064)
at forge.game.ai.ComputerUtilCombat.damageIfUnblocked(ComputerUtilCombat.java:129)
at forge.game.ai.ComputerUtilCombat.sumDamageIfUnblocked(ComputerUtilCombat.java:184)
at forge.game.ai.AiAttackController.doAssault(AiAttackController.java:426)
at forge.game.ai.AiAttackController.getAttackers(AiAttackController.java:502)
at forge.game.ai.AiController.declareAttackers(AiController.java:827)
at forge.game.ai.AiController.onPriorityRecieved(AiController.java:808)
at forge.game.ai.AiInputCommon$1.run(AiInputCommon.java:74)
at forge.FThreads$1.run(FThreads.java:113)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by Almeida » 10 Apr 2013, 16:29
Description: every Fetch land cause this
- NullPointerException | Open
- Code: Select all
Forge Version: 1.3.12-SNAPSHOT-r20888
Operating System: Windows 7 6.1 amd64
Java Version: 1.7.0_07 Oracle Corporation
java.lang.NullPointerException
at javax.swing.LayoutComparator.compare(Unknown Source)
at javax.swing.LayoutComparator.compare(Unknown Source)
at java.util.Arrays.mergeSort(Unknown Source)
at java.util.Arrays.mergeSort(Unknown Source)
at java.util.Arrays.mergeSort(Unknown Source)
at java.util.Arrays.mergeSort(Unknown Source)
at java.util.Arrays.mergeSort(Unknown Source)
at java.util.Arrays.mergeSort(Unknown Source)
at java.util.Arrays.mergeSort(Unknown Source)
at java.util.Arrays.legacyMergeSort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at java.util.Collections.sort(Unknown Source)
at javax.swing.SortingFocusTraversalPolicy.enumerateAndSortCycle(Unknown Source)
at javax.swing.SortingFocusTraversalPolicy.getFocusTraversalCycle(Unknown Source)
at javax.swing.SortingFocusTraversalPolicy.getFirstComponent(Unknown Source)
at javax.swing.LayoutFocusTraversalPolicy.getFirstComponent(Unknown Source)
at javax.swing.SortingFocusTraversalPolicy.getDefaultComponent(Unknown Source)
at java.awt.FocusTraversalPolicy.getInitialComponent(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.SequencedEvent.dispatch(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)
-
Almeida - Posts: 41
- Joined: 24 Dec 2011, 04:48
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Almeida » 10 Apr 2013, 16:43
Killing Wave works only in the human player
-
Almeida - Posts: 41
- Joined: 24 Dec 2011, 04:48
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Almeida » 10 Apr 2013, 16:47
Description: I played a Pack Rat with a spreading seas on my Swamp and another swamp with nothing
- ConcurrentModificationException | Open
- Code: Select all
Forge Version: 1.3.12-SNAPSHOT-r20931
Operating System: Windows 7 6.1 amd64
Java Version: 1.7.0_07 Oracle Corporation
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
at java.util.ArrayList$Itr.next(Unknown Source)
at forge.Card.getType(Card.java:3825)
at forge.Card.typeContains(Card.java:5085)
at forge.Card.isPlaneswalker(Card.java:5077)
at forge.gui.CardDetailPanel.composeCardText(CardDetailPanel.java:376)
at forge.gui.CardDetailPanel.setCard(CardDetailPanel.java:301)
at forge.gui.match.controllers.CDetail.showCard(CDetail.java:49)
at forge.gui.match.CMatchUI.setCard(CMatchUI.java:245)
at forge.gui.match.nonsingleton.CField.cardoverAction(CField.java:382)
at forge.gui.match.nonsingleton.CField.access$0(CField.java:378)
at forge.gui.match.nonsingleton.CField$1.mouseMoved(CField.java:74)
at java.awt.AWTEventMulticaster.mouseMoved(Unknown Source)
at java.awt.Component.processMouseMotionEvent(Unknown Source)
at javax.swing.JComponent.processMouseMotionEvent(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)
-
Almeida - Posts: 41
- Joined: 24 Dec 2011, 04:48
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Max mtg » 10 Apr 2013, 21:41
Please describe in more detail when fetchland caused the mentioned exception. - whose turn was that, which phase, and when did you activate it - was it inside a pay mana prompt?
Killing wave from ai - does ai always choose x = 0? Must be due to announce being unimplemented for ai.
The last exception is rigtht the same as in my signature todo list. Unfortunatelly it is, I was hoping they are gone
Killing wave from ai - does ai always choose x = 0? Must be due to announce being unimplemented for ai.
The last exception is rigtht the same as in my signature todo list. Unfortunatelly it is, I was hoping they are gone
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Bug Reports (snapshot builds)
by Corwin72 » 11 Apr 2013, 02:38
forge-1.3.12-20130410.110058-13.tar.bz2
Nin, the Pain Artist only does 0 damage.
You are not allowed to input any mana past UR.
Nin, the Pain Artist only does 0 damage.
You are not allowed to input any mana past UR.
-
Corwin72 - Posts: 793
- Joined: 15 Sep 2009, 13:26
- Location: Grayson, Ga
- Has thanked: 25 times
- Been thanked: 9 times
Re: Bug Reports (snapshot builds)
by Almeida » 11 Apr 2013, 02:50
Killing Wave human player casting the ai no sacrifices only human playerMax mtg wrote:Please describe in more detail when fetchland caused the mentioned exception. - whose turn was that, which phase, and when did you activate it - was it inside a pay mana prompt?
Killing wave from ai - does ai always choose x = 0? Must be due to announce being unimplemented for ai.
The last exception is rigtht the same as in my signature todo list. Unfortunatelly it is, I was hoping they are gone
Fetch lands crashs on the activating
and another is Fathom Mage no drawns
dredge cards not works.
Simic Manipulator dont works I target the creature and dont remove the counters
-
Almeida - Posts: 41
- Joined: 24 Dec 2011, 04:48
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by swordshine » 11 Apr 2013, 04:08
Thank you for testing.
In my test, if AI's life total is 20, AI pays the cost. I set AI's life total to 1, AI doesn't pay and no creatures are sacrificed.Almeida wrote:Killing Wave human player casting the ai no sacrifices only human player
I cannot reproduce this. Is there any crash report?Almeida wrote:Fetch lands crashs on the activating
It seems all of the "CounterAdded" / "CounterRemoved" triggers are broken.Almeida wrote:and another is Fathom Mage no drawns
- swordshine
- Posts: 682
- Joined: 11 Jul 2010, 02:37
- Has thanked: 116 times
- Been thanked: 87 times
Re: Bug Reports (snapshot builds)
by Max mtg » 11 Apr 2013, 05:07
Killing wave fixed - thanks!
Fetch lands didn't crash - That's why I asked you for extra detail.
Fathom Mage - I don't understand how triggers in Forge work and cannot be of help here, sorry!
Dredge fixed - thanks!
Simic Manipulator works - I could not reproduce incorrect behaviour.
Fetch lands didn't crash - That's why I asked you for extra detail.
Fathom Mage - I don't understand how triggers in Forge work and cannot be of help here, sorry!
Dredge fixed - thanks!
Simic Manipulator works - I could not reproduce incorrect behaviour.
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Bug Reports (snapshot builds)
by moomarc » 11 Apr 2013, 09:13
AI uses Spike Soldier to add counters to itself... without removing one to pay the cost. So it is growing fast (and the match was going well until then). I'm guessing something is broken in AI costs for remove counter.
-Marc
-
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)
by Almeida » 11 Apr 2013, 15:24
Moonlace is wrong ... the text says Blue permanent is colorless
-
Almeida - Posts: 41
- Joined: 24 Dec 2011, 04:48
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by FabioFLX » 11 Apr 2013, 15:30
Hi, in latest build, whenever a Goblin Arsonist dies, the AI replicates the effect over and over until all the player's life is gone.
Re: Bug Reports (snapshot builds)
by Sloth » 11 Apr 2013, 16:42
Fixed! Thanks Almeida.Almeida wrote:Moonlace is wrong ... the text says Blue permanent is colorless
I can confirm this. I think it has to do with the trigger not being mandatory (OptionalDecider parameter). Mudbutton Torchrunner doesn't have this problem, Boggart Shenanigans has it.FabioFLX wrote:Hi, in latest build, whenever a Goblin Arsonist dies, the AI replicates the effect over and over until all the player's life is gone.
EDIT: Aven Fisher, Drainpipe Vermin and Algae Gharial do not have this problem.
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Bug Reports (snapshot builds)
by Max mtg » 11 Apr 2013, 19:56
@Corwin, Nin, the Pain Artist script updated, now it uses announce and works as intended.
@Sloth, As I saw Goblin Arsonist text, wanted to fit that 'optional' attribute into DealDamage ability, because 'you may' is closer to effect that to conditions (that read 'whenever...')
To my mind all the scripts need to be reviewed to extract all that 'you may', 'unless' and all kinds of condition checks as separate keyworded subabilities.
That might affect AI... because AI will have to look ahead and estimate the subability of Confirm clause.
@All, the exception related to list comodification (EDT is drawing a card while game changes properties of the same permanent will probably present in next build. I have to either set locks on read/write to types arraylist or make something similiar to a LKI copy for drawing thread)
@Sloth, As I saw Goblin Arsonist text, wanted to fit that 'optional' attribute into DealDamage ability, because 'you may' is closer to effect that to conditions (that read 'whenever...')
To my mind all the scripts need to be reviewed to extract all that 'you may', 'unless' and all kinds of condition checks as separate keyworded subabilities.
That might affect AI... because AI will have to look ahead and estimate the subability of Confirm clause.
@All, the exception related to list comodification (EDT is drawing a card while game changes properties of the same permanent will probably present in next build. I have to either set locks on read/write to types arraylist or make something similiar to a LKI copy for drawing thread)
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Bug Reports (snapshot builds)
by Sloth » 11 Apr 2013, 21:09
The "may" belongs to the trigger according to the Comprehensive Rules. See rule 603.5.Max mtg wrote:@Sloth, As I saw Goblin Arsonist text, wanted to fit that 'optional' attribute into DealDamage ability, because 'you may' is closer to effect that to conditions (that read 'whenever...')
To my mind all the scripts need to be reviewed to extract all that 'you may', 'unless' and all kinds of condition checks as separate keyworded subabilities.
That might affect AI... because AI will have to look ahead and estimate the subability of Confirm clause.
Sol made sure that our scripts are a very good translation of magic card texts.
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Who is online
Users browsing this forum: No registered users and 18 guests