SVN Bug Reports
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: SVN Bug Reports
by 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?
Re: SVN Bug Reports
by 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."
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
-
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
by 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.
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:

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
-
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
by slapshot5 » 26 Mar 2011, 16:20
- 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
by 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
by 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
-
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
by Hellfish » 26 Mar 2011, 21:06
Pretty sure it's the target issue. Probably.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?

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
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
-
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
by 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.
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
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
-
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
by 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.
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.
Re: SVN Bug Reports
by 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.
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
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
-
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
by 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.
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.
Re: SVN Bug Reports
by Sloth » 29 Mar 2011, 16:54
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.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.
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: SVN Bug Reports
by Jaedayr » 29 Mar 2011, 17:37
r7911
Got the following as AI was casting Timetwister.
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)
Who is online
Users browsing this forum: No registered users and 37 guests