It is currently 15 Aug 2025, 17:00
   
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 Jaedayr » 25 Mar 2011, 20:00

Not a bug, maybe more of a question about the AI. Is it possible for the AI to see if it can use the mana that turn before it pays two life to play Blood Crypt untapped?
Jaedayr
Tester
 
Posts: 523
Joined: 08 Jul 2010, 00:06
Has thanked: 16 times
Been thanked: 13 times

Re: SVN Bug Reports

Postby Chris H. » 25 Mar 2011, 22:21

I have noticed some problems recently in the spell descriptions and in particluar, the CostDesc$. We should be able to place text in the CostDesc$ and not have any text in the SpellDescription$.

But the alt cost for Angelic Favor does not appear. I have been too busy with other parts of the project and have not been able to track this down. Logically, I would assume that if the SpellDescription$ is empty, then the CostDesc$ string is not added to the spell text.

If you check the deck editor for the card below you will see that it does not display this text in the card detail panel:

"If you control a Plains, you may tap an untapped creature you control rather than pay CARDNAME's mana cost."

Angelic Favor card text | Open
Name:Angelic Favor
ManaCost:3 W
Types:Instant
Text:no text
A:SP$Token | Cost$ tapXType<1/Creature> | TokenAmount$ 1 | TokenName$ Angel | TokenTypes$ Creature,Angel | TokenOwner$ You | TokenColors$ White | TokenPower$ 4 | TokenToughness$ 4 | TokenKeywords$ Flying & At the beginning of the end step, exile CARDNAME. | ActivatingPhases$ BeginCombat->EndCombat | IsPresent$ Plains.YouCtrl | CostDesc$ If you control a Plains, you may tap an untapped creature you control rather than pay CARDNAME's mana cost.
A:SP$Token | Cost$ 3 W | TokenAmount$ 1 | TokenName$ Angel | TokenTypes$ Creature,Angel | TokenOwner$ You | TokenColors$ White | TokenPower$ 4 | TokenToughness$ 4 | TokenKeywords$ Flying & At the beginning of the end step, exile CARDNAME. | ActivatingPhases$ BeginCombat->EndCombat | SpellDescription$ Cast Angelic Favor only during combat. Put a 4/4 white Angel creature token with flying onto the battlefield. Exile it at the beginning of the next end step.
SVar:RemAIDeck:True
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/angelic_favor.jpg
SetInfo:NMS|Uncommon|http://magiccards.info/scans/en/ne/1.jpg
End
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 Chris H. » 25 Mar 2011, 23:53

We have a few auras that do not work. I am not pointing any fingers, the work pace has been furious over the last several months and we have to expect a few errors in the cards that we have scripted. I have made a few errors myself. :wink:

I believe that the following keywords have no code. They serve as a flag that can be tested elsewhere in the code. The following keywords are just a flag, so to speak:

K:Enchant artifact
K:Enchant creature
K:Enchant creature with converted mana cost 2 or less
K:Enchant creature without flying
K:Enchant red or green creature
K:Enchant land
K:Enchant land you control
K:Enchant tapped creature

It has been awhile, but the enPump keyword is limited to creatures. The keywords above do not provide any sort of code to attach and detach the aura from the card that it is to enchanted.

Nonetheless, the following aura is not functional from what I could tell while doing some testing:

Animal Boneyard card text | Open
Name:Animal Boneyard
ManaCost:2 W
Types:Enchantment Aura
K:Enchant land
K:stPumpAll:Card.AttachedBy:0/0/SVar=GainLife & SVar=LifeGained:No Condition:Enchanted land has "Tap, Sacrifice a creature: You gain life equal to that creature's toughness."
SVar:GainLife:AB$GainLife | Cost$ T Sac<1/Creature> | LifeAmount$ LifeGained | SpellDescription$ You gain life equal to the sacrificed creature's toughness.
SVar:LifeGained:Sacrificed$CardToughness
SVar:RemAIDeck:True
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/animal_boneyard.jpg
SetInfo:ODY|Uncommon|http://magiccards.info/scans/en/od/4.jpg
End
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 slapshot5 » 26 Mar 2011, 16:20

Re: Animal Boneyard

Change it to:
K:Enchant Land

and I bet it'll work.

-slapshot5
slapshot5
Programmer
 
Posts: 1391
Joined: 03 Jan 2010, 17:47
Location: Mac OS X
Has thanked: 25 times
Been thanked: 68 times

Re: SVN Bug Reports

Postby friarsol » 26 Mar 2011, 17:14

I had a No Mercy out and my opponent attacked with three creatures. I let them through expecting then all to be killed. But only the first one to resolve did. Is this the Target issue or just a similar issue in Triggers?
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 » 26 Mar 2011, 17:23

When deciding to put the recently clashed card on the top or bottom, the display panel shows the card that triggered the clash, not the card that might be moving.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: SVN Bug Reports

Postby Chris H. » 26 Mar 2011, 18:51

slapshot5 wrote:Re: Animal Boneyard

Change it to:
K:Enchant Land

and I bet it'll work.
`
That did the trick. 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 Hellfish » 26 Mar 2011, 21:06

friarsol wrote:I had a No Mercy out and my opponent attacked with three creatures. I let them through expecting then all to be killed. But only the first one to resolve did. Is this the Target issue or just a similar issue in Triggers?
Pretty sure it's the target issue. Probably. 8-[
So now you're
Screaming for the blood of the cookie monster
Evil puppet demon of obesity
Time to change the tune of his fearful ballad
C is for "Lettuce," that's good enough for me
User avatar
Hellfish
Programmer
 
Posts: 1297
Joined: 07 Jun 2009, 10:41
Location: South of the Pumphouse
Has thanked: 110 times
Been thanked: 169 times

Re: SVN Bug Reports

Postby friarsol » 26 Mar 2011, 21:29

No Mercy doesn't target that's why I was wondering.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: SVN Bug Reports

Postby Hellfish » 27 Mar 2011, 11:13

Well, it doesn't target in the rules sense but it still has targets, the Defined$ creature that dealt damage.

Also, fixed the carddisplay not showing the right card on clashing.
So now you're
Screaming for the blood of the cookie monster
Evil puppet demon of obesity
Time to change the tune of his fearful ballad
C is for "Lettuce," that's good enough for me
User avatar
Hellfish
Programmer
 
Posts: 1297
Joined: 07 Jun 2009, 10:41
Location: South of the Pumphouse
Has thanked: 110 times
Been thanked: 169 times

Re: SVN Bug Reports

Postby Replika » 27 Mar 2011, 14:09

r7880

The AI's Quicksilver Behemoth attacks, the trigger goes off, but the Behemoth isn't returned at the end of combat.
Quicksilver Behemoth worked fine yesterday (r7874) though.

Edit - nevermind.
Last edited by Replika on 27 Mar 2011, 15:10, edited 2 times in total.
Replika
 
Posts: 115
Joined: 30 Jan 2011, 21:15
Has thanked: 2 times
Been thanked: 3 times

Re: SVN Bug Reports

Postby Hellfish » 27 Mar 2011, 15:05

Quicksilver Behemoth bug fixed, my recent optimizations didn't account for delayed triggers.
EDIT: WILL be fixed, google code is spazzing out on me.
So now you're
Screaming for the blood of the cookie monster
Evil puppet demon of obesity
Time to change the tune of his fearful ballad
C is for "Lettuce," that's good enough for me
User avatar
Hellfish
Programmer
 
Posts: 1297
Joined: 07 Jun 2009, 10:41
Location: South of the Pumphouse
Has thanked: 110 times
Been thanked: 169 times

Re: SVN Bug Reports

Postby Replika » 27 Mar 2011, 15:09

r7880

The AI controls two Vulshok Sorcerer. It does not combine them to shoot my Frogmite.

The AI always casts equipment postcombat. Sometimes, it does not equip its creature even if it has no other use for its mana.
Putting PlayMain1:TRUE on an equipment doesn't help - the AI casts it MP1, but does not equip it until its next turn.

The AI always uses Stoneforge Mystic during its MP1 if it has an equipment to bring in, even if that equipment costs 2 or less mana.

I have yet to see the AI using its Pyrite Spellbomb when I am at 3 or more life.
In general, the AI uses artifacts and enchantments with "Sacrifice CARDNAME: Awesome effect" very rarely.

The AI cast two Temporal Isolation on my Myr Enforcer. I had other sweet targets to choose from.
Replika
 
Posts: 115
Joined: 30 Jan 2011, 21:15
Has thanked: 2 times
Been thanked: 3 times

Re: SVN Bug Reports

Postby Sloth » 29 Mar 2011, 16:54

Replika wrote:I have yet to see the AI using its Pyrite Spellbomb when I am at 3 or more life.
In general, the AI uses artifacts and enchantments with "Sacrifice CARDNAME: Awesome effect" very rarely.
This will no longer be the case. The AI will use Seal of Fire and similar artifacts and enchantments without mercy! Thanks for reporting 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 Jaedayr » 29 Mar 2011, 17:37

r7911

Got the following as AI was casting Timetwister.

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


null


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.NullPointerException
   at forge.card.abilityFactory.AbilityFactory_ChangeZone.changeZoneAllResolve(AbilityFactory_ChangeZone.java:1420)
   at forge.card.abilityFactory.AbilityFactory_ChangeZone.access$6(AbilityFactory_ChangeZone.java:1412)
   at forge.card.abilityFactory.AbilityFactory_ChangeZone$5.resolve(AbilityFactory_ChangeZone.java:1225)
   at forge.MagicStack.resolveStack(MagicStack.java:682)
   at forge.Phase.passPriority(Phase.java:524)
   at forge.gui.input.Input_PassPriority.selectButtonOK(Input_PassPriority.java:42)
   at forge.GuiInput.selectButtonOK(GuiInput.java:37)
   at forge.GuiDisplay4.okButtonActionPerformed(GuiDisplay4.java:954)
   at forge.GuiDisplay4.access$3(GuiDisplay4.java:953)
   at forge.GuiDisplay4$25.actionPerformed(GuiDisplay4.java:741)
   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

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 17 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 17 users online :: 0 registered, 0 hidden and 17 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 17 guests

Login Form