It is currently 15 Aug 2025, 20:52
   
Text Size

SVN Bug Reports

Post MTG Forge Related Programming Questions Here

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

Re: SVN Bug Reports

Postby Chris H. » 15 Mar 2011, 18:05

I could probably spend some time helping with this part of the project. I am currently waiting for replies to my message in reference to using:

Code: Select all
card.clearFirstSpellAbility();
`
rather then the old style:

Code: Select all
card.clearSpellAbility();
`
for code blocks that are used by permanents.
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Re: SVN Bug Reports

Postby UnderFlow » 15 Mar 2011, 21:20

Revision 7632:
I attack the computer with Hero of Bladehold. The computer has Jace Beleren. The tokens generated by Hero of Bladehold attack Jace. I should get to decide which player/planeswalker is attacked.
UnderFlow
 
Posts: 51
Joined: 17 Feb 2011, 17:49
Has thanked: 0 time
Been thanked: 1 time

Re: Shameless Doublepost

Postby Sloth » 16 Mar 2011, 10:29

Replika wrote:The AI attacks with Steppe Lynx only to have it blocked, shrinked and then killed by my Phyrexian Crusader. I know that the AI checks whether its creature can block something (it can't), can be killed by a blocker (4/5 vs. 2/2) and then attacks. This is pretty bad against wither, infect and multiple blockers.
The AI will now predict the interaction of first strike and wither/infect. Thanks Replika.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: SVN Bug Reports

Postby Sloth » 16 Mar 2011, 15:01

slapshot5 wrote:I've often thought we need to spilt this into multiple SVars. Or 1 SVar with different values. The values would override.

SVar:AI:RemoveRandom - remove it from random decks (like the three cards above)
SVar:AI:DontUse - this is buggy, and should be used by AI even in constructed (also removes from Random decks)

Something like that.

-slapshot5
I've added RemRandomDeck as SVar. These should be cards that the AI has no problems with, but are too specific for a random deck (like Root Cage or Into the North).

I've started to convert some card text files. When I'm finished we can consider giving the human player's random decks access to cards with RemAiDeck, but without RemRandomDeck.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: SVN Bug Reports

Postby Rob Cashwalker » 16 Mar 2011, 15:18

cool, thanks Sloth!
The Force will be with you, Always.
User avatar
Rob Cashwalker
Programmer
 
Posts: 2167
Joined: 09 Sep 2008, 15:09
Location: New York
Has thanked: 5 times
Been thanked: 40 times

Re: SVN Bug Reports

Postby Corwin72 » 16 Mar 2011, 15:43

r7661
Stratadon just blocked my Creeping Tar Pit.
User avatar
Corwin72
 
Posts: 793
Joined: 15 Sep 2009, 13:26
Location: Grayson, Ga
Has thanked: 25 times
Been thanked: 9 times

Re: SVN Bug Reports

Postby Replika » 16 Mar 2011, 16:41

r7674

Inkmoth Nexus and Tezzeret, Agent of Bolas do not interact with each other the way they should. If the Nexus gets animated and then turned into a 5/5 by Tezzeret, it will turn back into just a land at the end of turn. According to MtGO and this Cranial Insertion article, it should be a 5/5 artifact creature land and only lose flying and infect.

The AI is pretty bad at using fetchlands (the untapped ones like Arid Mesa). Even if it does have a card with PlayMain1:True in its hand, it often cracks the fetch midcombat or something like that and can't cast its spell precombat anymore. In fact, I have never seen the AI casting a Goblin Guide by using its fetchland on turn one during its first main phase.

The AI is pretty bad at using saclands (all of them, including Terramorphic Expanse, Arid Mesa and so on). An example: The AI plays Boros and has two Plains and no Mountains. It plays an Arid Mesa, cracks it and searches up... another Plains.
Is it possible to make the AI prefer basic lands of a color that it does not already have? Or, even better, search for colors it does not have a source of first, then search for colors it has only one source of? That would make sure the AI gets to cast its double-colored cards in a two- or three-colored deck.
Replika
 
Posts: 115
Joined: 30 Jan 2011, 21:15
Has thanked: 2 times
Been thanked: 3 times

Re: SVN Bug Reports

Postby Sloth » 16 Mar 2011, 18:47

Corwin72 wrote:r7661
Stratadon just blocked my Creeping Tar Pit.
Fixed! Thanks Corwin.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: SVN Bug Reports

Postby Jaedayr » 17 Mar 2011, 19:44

r7696

Code: Select all
An error has occured. You can copy/paste this message or save it to a file.
Please report this, plus what you tried to do, to:
   http://www.slightlymagic.net/forum/viewforum.php?f=26
If you don't want to register an account, you can mail it directly to
   mtgerror@yahoo.com


There is an error in the card code for Identity Crisis:



Version:
Forge -- official beta: $Date: 2011-01-06 11:34:48 -0500 (Thu, 06 Jan 2011) $, SVN revision: $Revision: 4891 $

OS: Windows XP Version: 5.1 Architecture: x86

Java Version: 1.6.0_24 Vendor: Sun Microsystems Inc.

Detailed error trace:
java.lang.RuntimeException: AllZone : getZone() invalid parameters Library null
   at forge.AllZone.getZone(AllZone.java:112)
   at forge.card.cardFactory.CardFactory_Sorceries$6.canPlayAI(CardFactory_Sorceries.java:224)
   at forge.ComputerAI_General.getPlayable(ComputerAI_General.java:181)
   at forge.ComputerAI_General.getMain1(ComputerAI_General.java:115)
   at forge.ComputerAI_General.playCards(ComputerAI_General.java:37)
   at forge.ComputerAI_General.main1(ComputerAI_General.java:24)
   at forge.ComputerAI_Input.think(ComputerAI_Input.java:48)
   at forge.ComputerAI_Input.showMessage(ComputerAI_Input.java:33)
   at forge.GuiInput.setInput(GuiInput.java:29)
   at forge.GuiInput.update(GuiInput.java:23)
   at java.util.Observable.notifyObservers(Unknown Source)
   at java.util.Observable.notifyObservers(Unknown Source)
   at forge.MyObservable.updateObservers(MyObservable.java:9)
   at forge.Phase.nextPhase(Phase.java:375)
   at forge.GuiDisplay4$25.actionPerformed(GuiDisplay4.java:746)
   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.plaf.basic.BasicButtonListener.mouseReleased(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$000(Unknown Source)
   at java.awt.EventQueue$1.run(Unknown Source)
   at java.awt.EventQueue$1.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue$2.run(Unknown Source)
   at java.awt.EventQueue$2.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$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)
Jaedayr
Tester
 
Posts: 523
Joined: 08 Jul 2010, 00:06
Has thanked: 16 times
Been thanked: 13 times

Re: SVN Bug Reports

Postby Replika » 17 Mar 2011, 21:28

r7707

Soul Stair Expedition is not limited to your own graveyard.

The AI only blocks with regenerating creatures if they kill the blocked creature. I have not seen the AI chumping and regenerating just to prevent damage except when being attacked for lethal.
Replika
 
Posts: 115
Joined: 30 Jan 2011, 21:15
Has thanked: 2 times
Been thanked: 3 times

Re: SVN Bug Reports

Postby Chris H. » 18 Mar 2011, 00:17

Replika wrote:r7707

Soul Stair Expedition is not limited to your own graveyard.
`
Fixed, thank you.
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Re: SVN Bug Reports

Postby UnderFlow » 18 Mar 2011, 00:59

Revision 7716:
Recycle triggers for every copy of Brain Freeze. (The same is probably true for Null Profusion.)
UnderFlow
 
Posts: 51
Joined: 17 Feb 2011, 17:49
Has thanked: 0 time
Been thanked: 1 time

Re: SVN Bug Reports

Postby Zirbert » 18 Mar 2011, 01:40

UnderFlow wrote:Revision 7716:
Recycle triggers for every copy of Brain Freeze. (The same is probably true for Null Profusion.)
Yup, if it's true for one, it'll be true for the other. They're functionally identical, copy-and-pasted except for name, colors in ManaCost, etc.

Right now they trigger off "T:Mode$ SpellCast | ValidCard$ Card.YouCtrl" and "T:Mode$ LandPlayed | ValidCard$ Land.YouCtrl." I wouldn't have expected Storm copies to set them off, because the Storm copies aren't Cards.

Hopefully somebody has a suggestion for differentiating between spells played and cards played...
Zirbert
 
Posts: 512
Joined: 13 Oct 2010, 16:04
Has thanked: 104 times
Been thanked: 19 times

Re: SVN Bug Reports

Postby friarsol » 25 Mar 2011, 14:06

Not necessarily a bug, but it's very unintuitive that when you purchase your first Pet/Plant it's not automatically enabled.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: SVN Bug Reports

Postby friarsol » 25 Mar 2011, 19:56

Has the AI equipping code changed? It seems like the AI didn't do anything, and decided not to use his extra mana to equip his lone creature.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: Baidu [Spider] and 16 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 17 users online :: 1 registered, 0 hidden and 16 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: Baidu [Spider] and 16 guests

Login Form