Card Bug Report
by mtgrares
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Card Bug Report
by mtgrares » 08 Sep 2008, 22:28
This is intended for a list of errors that are associated with cards. This list of card errors will probably get very long and a master list of card errors will have to be created and updated.
Also, sometimes at the beginning of the game you draw a card which is incorrect. You should have 7 cards in you hand at the beginning of the game and you shouldn't draw a card because you always go first. (The computer cannot go first because of a programming error.)
Card Errors:
1. Bottle Gnomes not having his sacrifice ability
2. Briarhorn not having flash.
2.5 Black Vise doesn't work correctly. You (the player) draw extra cards because Black Vise causes errors.
3. Do or Die doesn't let you divide up the creatures into two piles.
4. Infest deals 2 damage instead of creatures "getting -2/-2"
5. Darksteel Colossus isn't stuffled into your library when it goes into your graveyard.
6. Baru, Fist of Krosa gives all of your creatures +1/+1 and trample instead of just the green creatures.
7. Control Magic is a sorcery instead of an enchantment.
8. Epic Proportions is a sorcery instead of an enchantment.
9. Faceless Butcher doesn't return a creature to play if the Faceless Butcher is removed from the game, like with Swords to Plowshearers. Faceless Butcher only returns the removed creature if the Butches is destroyed and goes to the graveyard.
10. Korlash, Heir to Blackblade - cards like Giant Growth don't increase his stats. (MTG Forge doesn't correctly layer effects.)
11. Nightmare - cards like Giant Growth don't increase his stats.
etc..
I have resisted having a list of all cards errors but it certainly would help clear up some problems.
Also, sometimes at the beginning of the game you draw a card which is incorrect. You should have 7 cards in you hand at the beginning of the game and you shouldn't draw a card because you always go first. (The computer cannot go first because of a programming error.)
Card Errors:
1. Bottle Gnomes not having his sacrifice ability
2. Briarhorn not having flash.
2.5 Black Vise doesn't work correctly. You (the player) draw extra cards because Black Vise causes errors.
3. Do or Die doesn't let you divide up the creatures into two piles.
4. Infest deals 2 damage instead of creatures "getting -2/-2"
5. Darksteel Colossus isn't stuffled into your library when it goes into your graveyard.
6. Baru, Fist of Krosa gives all of your creatures +1/+1 and trample instead of just the green creatures.
7. Control Magic is a sorcery instead of an enchantment.
8. Epic Proportions is a sorcery instead of an enchantment.
9. Faceless Butcher doesn't return a creature to play if the Faceless Butcher is removed from the game, like with Swords to Plowshearers. Faceless Butcher only returns the removed creature if the Butches is destroyed and goes to the graveyard.
10. Korlash, Heir to Blackblade - cards like Giant Growth don't increase his stats. (MTG Forge doesn't correctly layer effects.)
11. Nightmare - cards like Giant Growth don't increase his stats.
etc..
I have resisted having a list of all cards errors but it certainly would help clear up some problems.
- mtgrares
- DEVELOPER
- Posts: 1352
- Joined: 08 Sep 2008, 22:10
- Has thanked: 3 times
- Been thanked: 12 times
Re: Card Bug Report
by mtgrares » 09 Sep 2008, 16:16
When you aren’t sure what a card does, look in the upper right “card detail” panel, to see how MTG Forge implements that card. If MTG Forge doesn’t list the ability or keyword, MTG Forge doesn’t support it. MTG Forge only supports the text that is shown in the “card detail.”
Other errors dealing with cards
1. MTG Forge does not support protection, first strike, morph, any abilities that trigger during combat.
2. All enchantments that enchant a creature are converted into a sorcery spell, MTG Forge doesn’t support creature enchantments.
3. Creatures with the type “Shapeshifter” are considered to be slivers, but not goblins or any other creature type.
4. MTG Forge converted all “when this creature leaves play” abilities into “when this creature is put into a graveyard.” So when you use Swords to Plowshares and Crib Swap and such-and-such doesn’t happen, now you know why.
5. If a creature with trample has multiple blockers, the defending player won’t get any trample damage
6. If the computer has two planeswalkers in play, you can only attack the one that came into play first
7. The issue with shadow creatures blocking non-shadow creatures doesn’t have to be mentioned, because this is easy to fix.
Incorrect card interactions probably need to be documented also. I can’t think of any examples right now, but I’m sure there are some.
AEtherflame Wall – technically AEtherflame Wall doesn’t have shadow
Aether Membrane – doesn’t have the ability “Whenever AEther Membrane blocks a creature, turn that creature to its owner’s hand at end of combat.”
Ajani Goldmane – planeswalkers abilities should only be played as sorceries, but they can be played as instants. For more information about the token Ajani creates see Serra Avatar
Akroma, Angel of Fury – doesn’t have protection or morph and can be countered
Akroma, Angel of Wrath – doesn’t have protection or first strike
Animate Dead – is technically an enchantment
Arashi, the Sky Asunder – does not have any abilities, it is just a plain creature
Avian Changeling – doesn’t have the keyword changeling
Baru, Fist of Krosa – gives all of your creatures +1/+1 instead of just the green ones
Black Vise doesn't work correctly. You (the player) draw extra cards because Black Vise causes errors.
Blistering Firecat – doesn’t have morph
Bottle Gnomes – doesn’t have the ability, “Sacrifice Bottle Gnomes: You gain 3 life”
Castle Raptors – sometimes Castle Raptors doesn’t get its +0/+2 bonus
Chandra Nalaar – abilities can be played as instants instead of soceries
Changeling Sentinel – doesn’t have changeling
Chartooth Cougar – doesn’t have mountaincycling
Commune with Nature – doesn’t let you put the cards on the bottom of your deck in any order
Control Magic – is a sorcery instead of an enchantment
Crib Swap – the token that is created doesn’t have the keyword changeling
Dandan – doesn’t have any abilities, it is just a 4/1 creature
Darksteel Colossus – can go to your graveyard, it is not reshuffled into your library
Do or Die – doesn’t let you divide up your opponent’s creatures into two piles, instead Do or Die just randomly destroys up to half of your opponent’s creatures
Echoing Decay – instead this card just deals 2 damage
Elvish Piper – technically you should choose the creature card to put into play after it resolves instead of before
Empty the Warrens – doesn’t always make the correct number of tokens
Epic Proportions – is a sorcery instead of an enchantment
Erratic Exposion – does not let you decide the order that the cards are put on the bottom of your library
Expunge – the card text is messed up but the card still works
Faceless Butcher – Butcher will return the creature card that was removed if Butcher goes into the graveyard. Butcher will not return the creature card if it is removed from played like with Sword to Plowshares or is "removed from play".
Firebolt – doesn’t have flashback
Flowstone Wall – the computer AI might accidentally kill this creature because it gets +1/-1
Flowstone Wyvern - the computer AI might accidentally kill this creature because it gets +1/-1
Frostweb Spider – does not have the ability that gives it +1/+1 when it blocks a creature with flying
Funeral Charm – doesn’t give swampwalk
Garruk Wildspeaker – abilities can be played like instants instead of sorceries
Ghost-Lit Redeemer – doesn’t have channel
Giant Dustwasp – doesn’t have suspend
Gift of Estates – doesn’t let you select the Plains, it is automatically done for you. You can’t search out cards like Godless Shrine which technically is a Plains.
Goblin Ringleader – doesn’t let you put the cards in order on the bottom of your deck
Greater Forgeling – the computer may accidentally kill his own creature by playing this ability too many times
Hand of Cruelty – doesn’t have protection or bushido. It is just a plain 2/2 creature.
Hex – you can target the same creature multiple times. Technically each target creature should be unique.
Ichor Slick – doesn’t have madness and it deals 3 damage instead of a creature giving -3/-3
Ifh-Biff Efreet – doesn’t have its activated ability that deals damage to all flyers
Imperiosaur – can be played using any mana and not just mana produced from basic lands
Incendiary Command – took a lot of time to program and is pretty crappy, lol. I programmed this for my interview at Wizards, but I never heard back.
Infernal Kirin – is only a 3/3 creature with flying, it doesn’t have any other abilities
Infest – deals 2 damage to all creatures instead of giving them -2/-2
Jugan, the Rising Star – when it does into a graveyard, you can only target one creature to get five +1/+1 counters. If you played a 2nd Jugan, only one Jugan will actually trigger, one creature will get five +1/+1 counters, not two creatures.
Karplusan Strider – is just a plain 3/4 creature, it can be targeted by blue and black spells.
Keening Banshee – deals 2 damage instead of giving a creature -2/-2
Keiga, the Tide Star – if you play a second Keiga, you will only get to gain control of one creature instead of two
Kemuri-Onna – doesn’t have the ability that checks if you play any spirit or arcane cards
Kiki-Jiki, Mirror Breaker – lets you copy any creatures instead of just your creatures
Kodama of the North Tree – doesn’t have the ability “Kodama of the North Tree can’t be the target of spells or abilties”
Korlash, Heir Blackblade – can’t be pumped up with cards like Giant Growth
Leaf Glider – should be named Leaf Gilder, I’m afraid to fix this since it will probably mess up the decks that have the incorrect name
Lignify – is a sorcery instead of an enchantment
Liliana Vess – you can play her abilities as instants instead of sorceries
Meadowboon - doesn't give +1/+1 to your creatures if it is removed from play like with Swords to Plowshares
Meloku the Clouded Mirror – you don’t get to choose the land that is returned to your hand, the land is just automatically chosen for you
Mishra’s Factory – doesn’t let you pump up another animated Mishra’s Factory
Nameless Inversion – can kill any creature with a toughness of 3 or less. The targeted creature does actually get +3/-3
Nightmare – can’t be pumped up by creatures like Giant Growth
Oubliette – lets you target and remove any nonland permanent, instead of just restricting you to creatures
Pardic Dragon – doesn’t have suspend
Puppeteer – sometimes the computer makes Puppeteer target itself multiple times, which is unproductive
Raging Goblin – do not attack on your first turn with this creature, it causes an error
Reach of Branches – is buggy, it doesn’t always return to your hand
Reckless Wurm – doesn’t have madness
Sengir Autocrat – if it is removed from play, like with Swords to Plowshares, the tokens will stay in play. The tokens are only removed from play if Sengir goes into the graveyard.
Sengir Vampire – doesn’t ever get a +1/+1 counter, he is just a 4/4 flying creature
Sentinles of Glen Elendra – actually do have flash and flying, the computer may replay this card over and over again
Serra Avatar – may have a problem because your life points change during combat. Let’s say before combat you had 10 life but during combat your life was reduced to 7, Serra Avatar I think just deals 7 damage. (This needs to be tested.)
Shade of Trokair – doesn’t have suspend and the computer might accidentally kill his own creature
Simic Sky Swallower – doesn’t have the ability, “can’t be the target of spells or abilities.”
Sorceress Queen – can target herself
Sower of Temptation – will not return the stolen creature if it is removed from play by Swords to Plowshares or Crip Swap
Spark Elemental – you cannot attack on your first turn with this creature, it will cause an error
Sparksmith – only counts Goblins, it doesn’t count creatures with changeling or shapeshifter
Sprout Swarm – doesn’t have convoke
Strangleing Soot – doesn’t have flashback
Sunastian Falconer – should generate 2 mana instead of just 1 (MTG Forge doesn’t support this yet.)
Take Possession – doesn’t have split second and should be an enchantment instead of a sorcery
Terramorphic Expanse – actually works as it should, but an error causes it not to show any text
That Which Was Taken – can incorrectly target itself
The Unspeakable – doesn’t have its combat damage ability
Timberwatch Elf – only counts elves, it doesn’t count shapeshifters or changelings
Tithe – automatically searches for a Plains, you are not given a choice
Torii Watchward – doesn’t have soulshift
Troll Ascetic – doesn’t have the ability “can’t be the target of spells or abilities your opponents control.”
Turtleshell Changling – doesn’t have changeling (go figure)
Valor – first strike was “converted” into vigilance, since MTG Forge supports vigilance and not first strike
Vengeful Firebrand – doesn’t have haste as long a warrior is in your graveyard
Veteran Amorer – is shown as a 2/1 but he will be a 2/2 in play, since MTG Forge changed his ability to “All creatures you control get +0/+1”
Villainous Ogre – doesn’t ever get his regenerate ability
Viscerid Deepwalker – doesn’t have suspend
White Shield Crusader – doesn’t have protection from black
Wild Mongrel – doesn’t have the ability to change colors (not that it really matters)
Wings of Velis Vel – doesn’t have changeling and the target creature doesn’t gain all creature types
Other errors dealing with cards
1. MTG Forge does not support protection, first strike, morph, any abilities that trigger during combat.
2. All enchantments that enchant a creature are converted into a sorcery spell, MTG Forge doesn’t support creature enchantments.
3. Creatures with the type “Shapeshifter” are considered to be slivers, but not goblins or any other creature type.
4. MTG Forge converted all “when this creature leaves play” abilities into “when this creature is put into a graveyard.” So when you use Swords to Plowshares and Crib Swap and such-and-such doesn’t happen, now you know why.
5. If a creature with trample has multiple blockers, the defending player won’t get any trample damage
6. If the computer has two planeswalkers in play, you can only attack the one that came into play first
7. The issue with shadow creatures blocking non-shadow creatures doesn’t have to be mentioned, because this is easy to fix.
Incorrect card interactions probably need to be documented also. I can’t think of any examples right now, but I’m sure there are some.
AEtherflame Wall – technically AEtherflame Wall doesn’t have shadow
Aether Membrane – doesn’t have the ability “Whenever AEther Membrane blocks a creature, turn that creature to its owner’s hand at end of combat.”
Ajani Goldmane – planeswalkers abilities should only be played as sorceries, but they can be played as instants. For more information about the token Ajani creates see Serra Avatar
Akroma, Angel of Fury – doesn’t have protection or morph and can be countered
Akroma, Angel of Wrath – doesn’t have protection or first strike
Animate Dead – is technically an enchantment
Arashi, the Sky Asunder – does not have any abilities, it is just a plain creature
Avian Changeling – doesn’t have the keyword changeling
Baru, Fist of Krosa – gives all of your creatures +1/+1 instead of just the green ones
Black Vise doesn't work correctly. You (the player) draw extra cards because Black Vise causes errors.
Blistering Firecat – doesn’t have morph
Bottle Gnomes – doesn’t have the ability, “Sacrifice Bottle Gnomes: You gain 3 life”
Castle Raptors – sometimes Castle Raptors doesn’t get its +0/+2 bonus
Chandra Nalaar – abilities can be played as instants instead of soceries
Changeling Sentinel – doesn’t have changeling
Chartooth Cougar – doesn’t have mountaincycling
Commune with Nature – doesn’t let you put the cards on the bottom of your deck in any order
Control Magic – is a sorcery instead of an enchantment
Crib Swap – the token that is created doesn’t have the keyword changeling
Dandan – doesn’t have any abilities, it is just a 4/1 creature
Darksteel Colossus – can go to your graveyard, it is not reshuffled into your library
Do or Die – doesn’t let you divide up your opponent’s creatures into two piles, instead Do or Die just randomly destroys up to half of your opponent’s creatures
Echoing Decay – instead this card just deals 2 damage
Elvish Piper – technically you should choose the creature card to put into play after it resolves instead of before
Empty the Warrens – doesn’t always make the correct number of tokens
Epic Proportions – is a sorcery instead of an enchantment
Erratic Exposion – does not let you decide the order that the cards are put on the bottom of your library
Expunge – the card text is messed up but the card still works
Faceless Butcher – Butcher will return the creature card that was removed if Butcher goes into the graveyard. Butcher will not return the creature card if it is removed from played like with Sword to Plowshares or is "removed from play".
Firebolt – doesn’t have flashback
Flowstone Wall – the computer AI might accidentally kill this creature because it gets +1/-1
Flowstone Wyvern - the computer AI might accidentally kill this creature because it gets +1/-1
Frostweb Spider – does not have the ability that gives it +1/+1 when it blocks a creature with flying
Funeral Charm – doesn’t give swampwalk
Garruk Wildspeaker – abilities can be played like instants instead of sorceries
Ghost-Lit Redeemer – doesn’t have channel
Giant Dustwasp – doesn’t have suspend
Gift of Estates – doesn’t let you select the Plains, it is automatically done for you. You can’t search out cards like Godless Shrine which technically is a Plains.
Goblin Ringleader – doesn’t let you put the cards in order on the bottom of your deck
Greater Forgeling – the computer may accidentally kill his own creature by playing this ability too many times
Hand of Cruelty – doesn’t have protection or bushido. It is just a plain 2/2 creature.
Hex – you can target the same creature multiple times. Technically each target creature should be unique.
Ichor Slick – doesn’t have madness and it deals 3 damage instead of a creature giving -3/-3
Ifh-Biff Efreet – doesn’t have its activated ability that deals damage to all flyers
Imperiosaur – can be played using any mana and not just mana produced from basic lands
Incendiary Command – took a lot of time to program and is pretty crappy, lol. I programmed this for my interview at Wizards, but I never heard back.
Infernal Kirin – is only a 3/3 creature with flying, it doesn’t have any other abilities
Infest – deals 2 damage to all creatures instead of giving them -2/-2
Jugan, the Rising Star – when it does into a graveyard, you can only target one creature to get five +1/+1 counters. If you played a 2nd Jugan, only one Jugan will actually trigger, one creature will get five +1/+1 counters, not two creatures.
Karplusan Strider – is just a plain 3/4 creature, it can be targeted by blue and black spells.
Keening Banshee – deals 2 damage instead of giving a creature -2/-2
Keiga, the Tide Star – if you play a second Keiga, you will only get to gain control of one creature instead of two
Kemuri-Onna – doesn’t have the ability that checks if you play any spirit or arcane cards
Kiki-Jiki, Mirror Breaker – lets you copy any creatures instead of just your creatures
Kodama of the North Tree – doesn’t have the ability “Kodama of the North Tree can’t be the target of spells or abilties”
Korlash, Heir Blackblade – can’t be pumped up with cards like Giant Growth
Leaf Glider – should be named Leaf Gilder, I’m afraid to fix this since it will probably mess up the decks that have the incorrect name
Lignify – is a sorcery instead of an enchantment
Liliana Vess – you can play her abilities as instants instead of sorceries
Meadowboon - doesn't give +1/+1 to your creatures if it is removed from play like with Swords to Plowshares
Meloku the Clouded Mirror – you don’t get to choose the land that is returned to your hand, the land is just automatically chosen for you
Mishra’s Factory – doesn’t let you pump up another animated Mishra’s Factory
Nameless Inversion – can kill any creature with a toughness of 3 or less. The targeted creature does actually get +3/-3
Nightmare – can’t be pumped up by creatures like Giant Growth
Oubliette – lets you target and remove any nonland permanent, instead of just restricting you to creatures
Pardic Dragon – doesn’t have suspend
Puppeteer – sometimes the computer makes Puppeteer target itself multiple times, which is unproductive
Raging Goblin – do not attack on your first turn with this creature, it causes an error
Reach of Branches – is buggy, it doesn’t always return to your hand
Reckless Wurm – doesn’t have madness
Sengir Autocrat – if it is removed from play, like with Swords to Plowshares, the tokens will stay in play. The tokens are only removed from play if Sengir goes into the graveyard.
Sengir Vampire – doesn’t ever get a +1/+1 counter, he is just a 4/4 flying creature
Sentinles of Glen Elendra – actually do have flash and flying, the computer may replay this card over and over again
Serra Avatar – may have a problem because your life points change during combat. Let’s say before combat you had 10 life but during combat your life was reduced to 7, Serra Avatar I think just deals 7 damage. (This needs to be tested.)
Shade of Trokair – doesn’t have suspend and the computer might accidentally kill his own creature
Simic Sky Swallower – doesn’t have the ability, “can’t be the target of spells or abilities.”
Sorceress Queen – can target herself
Sower of Temptation – will not return the stolen creature if it is removed from play by Swords to Plowshares or Crip Swap
Spark Elemental – you cannot attack on your first turn with this creature, it will cause an error
Sparksmith – only counts Goblins, it doesn’t count creatures with changeling or shapeshifter
Sprout Swarm – doesn’t have convoke
Strangleing Soot – doesn’t have flashback
Sunastian Falconer – should generate 2 mana instead of just 1 (MTG Forge doesn’t support this yet.)
Take Possession – doesn’t have split second and should be an enchantment instead of a sorcery
Terramorphic Expanse – actually works as it should, but an error causes it not to show any text
That Which Was Taken – can incorrectly target itself
The Unspeakable – doesn’t have its combat damage ability
Timberwatch Elf – only counts elves, it doesn’t count shapeshifters or changelings
Tithe – automatically searches for a Plains, you are not given a choice
Torii Watchward – doesn’t have soulshift
Troll Ascetic – doesn’t have the ability “can’t be the target of spells or abilities your opponents control.”
Turtleshell Changling – doesn’t have changeling (go figure)
Valor – first strike was “converted” into vigilance, since MTG Forge supports vigilance and not first strike
Vengeful Firebrand – doesn’t have haste as long a warrior is in your graveyard
Veteran Amorer – is shown as a 2/1 but he will be a 2/2 in play, since MTG Forge changed his ability to “All creatures you control get +0/+1”
Villainous Ogre – doesn’t ever get his regenerate ability
Viscerid Deepwalker – doesn’t have suspend
White Shield Crusader – doesn’t have protection from black
Wild Mongrel – doesn’t have the ability to change colors (not that it really matters)
Wings of Velis Vel – doesn’t have changeling and the target creature doesn’t gain all creature types
- mtgrares
- DEVELOPER
- Posts: 1352
- Joined: 08 Sep 2008, 22:10
- Has thanked: 3 times
- Been thanked: 12 times
Re: Card Bug Report
by accordeon » 10 Sep 2008, 03:30
You probably already know this, but I wanted to point out that w/ Faceless Butcher, it's not only when it's removed from the game that it doesn't return its "kidnapped" card, but also when it's returned to hand via a Boomerang effect.
- accordeon
- Posts: 8
- Joined: 10 Sep 2008, 03:24
- Has thanked: 0 time
- Been thanked: 0 time
Re: Card Bug Report
by jpb » 10 Sep 2008, 16:22
That Which Was Taken cannot target itself. I see the following line in CardFactory.java which prevents it.
- Code: Select all
if(zone.is(Constant.Zone.Play) && c != card)//cannot target self
- jpb
- Posts: 132
- Joined: 05 Sep 2008, 13:12
- Has thanked: 0 time
- Been thanked: 0 time
Re: Card Bug Report
by GandoTheBard » 11 Sep 2008, 06:02
Control Magic gives haste to its target.
visit my personal homepage here: http://outofthebrokensky.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
-
GandoTheBard - Tester
- Posts: 1043
- Joined: 06 Sep 2008, 18:43
- Has thanked: 0 time
- Been thanked: 0 time
Re: Card Bug Report
by accordeon » 11 Sep 2008, 06:19
Veteran Armorer's bonus to other creatures seems to persist after it dies. (At least, the stats shown on the non-picture card detail don't change.)
- accordeon
- Posts: 8
- Joined: 10 Sep 2008, 03:24
- Has thanked: 0 time
- Been thanked: 0 time
Re: Card Bug Report
by GandoTheBard » 11 Sep 2008, 06:19
Let me ammend that slightly...it gives haste to creatures stolen by the computer.
visit my personal homepage here: http://outofthebrokensky.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
-
GandoTheBard - Tester
- Posts: 1043
- Joined: 06 Sep 2008, 18:43
- Has thanked: 0 time
- Been thanked: 0 time
Re: Card Bug Report
by GandoTheBard » 11 Sep 2008, 06:31
Deeptread Merfolk's activation does not in fact activate if stolen (via control magic).
visit my personal homepage here: http://outofthebrokensky.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
-
GandoTheBard - Tester
- Posts: 1043
- Joined: 06 Sep 2008, 18:43
- Has thanked: 0 time
- Been thanked: 0 time
Re: Card Bug Report
by GandoTheBard » 11 Sep 2008, 07:49
TimeTwister still returns to the deck instead of going to the graveyard of the caster.
visit my personal homepage here: http://outofthebrokensky.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
-
GandoTheBard - Tester
- Posts: 1043
- Joined: 06 Sep 2008, 18:43
- Has thanked: 0 time
- Been thanked: 0 time
Re: Card Bug Report
by mtgrares » 11 Sep 2008, 16:02
Everyones comments are good. I know a large variety of card errors, but not all of them. Some card like That Which Was Taken, I guess I updated but I don't remember. It used to be able to target itself.
- mtgrares
- DEVELOPER
- Posts: 1352
- Joined: 08 Sep 2008, 22:10
- Has thanked: 3 times
- Been thanked: 12 times
Re: Card Bug Report
by jpb » 11 Sep 2008, 16:14
Here is the fix for this haste problem with Control Magic and Sower of Temptation. If there are any more spells which allow you to gain control of a creature and does not specifically give it haste as part of the resolution let me know and I'll fix those as well.GandoTheBard wrote:Control Magic gives haste to its target.
- Code: Select all
//*************** START *********** START **************************
else if(cardName.equals("Control Magic"))
{
final SpellAbility spell = new Spell(card)
{
public boolean canPlayAI()
{
CardList c = CardFactoryUtil.AI_getHumanCreature();
CardListUtil.sortAttack(c);
CardListUtil.sortFlying(c);
if(c.isEmpty())
return false;
if(2 <= c.get(0).getAttack() && c.get(0).getKeyword().contains("Flying"))
{
setTargetCard(c.get(0));
return true;
}
CardListUtil.sortAttack(c);
if(4 <= c.get(0).getAttack())
{
setTargetCard(c.get(0));
return true;
}
return false;
}//canPlayAI()
public void resolve()
{
Card c = getTargetCard();
if(AllZone.GameAction.isCardInPlay(c))
{
//set summoning sickness
if(c.getKeyword().contains("Haste")){
c.setSickness(false);
}
else{
c.setSickness(true);
}
((PlayerZone_ComesIntoPlay)AllZone.Human_Play).setTrigger(false);
((PlayerZone_ComesIntoPlay)AllZone.Computer_Play).setTrigger(false);
PlayerZone from = AllZone.getZone(c);
from.remove(c);
PlayerZone to = AllZone.getZone(Constant.Zone.Play, card.getController());
to.add(c);
((PlayerZone_ComesIntoPlay)AllZone.Human_Play).setTrigger(true);
((PlayerZone_ComesIntoPlay)AllZone.Computer_Play).setTrigger(true);
}
}//resolve()
};//SpellAbility
card.clearSpellAbility();
card.addSpellAbility(spell);
spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell));
}//*************** END ************ END **************************
//*************** START *********** START **************************
//destroy doesn't work
else if(cardName.equals("Sower of Temptation"))
{
final Card moveCreature[] = new Card[1];
final SpellAbility spell = new Spell_Permanent(card)
{
public boolean canPlayAI()
{
CardList c = CardFactoryUtil.AI_getHumanCreature();
CardListUtil.sortAttack(c);
CardListUtil.sortFlying(c);
if(c.isEmpty())
return false;
if(2 <= c.get(0).getAttack() && c.get(0).getKeyword().contains("Flying"))
{
setTargetCard(c.get(0));
return true;
}
CardListUtil.sortAttack(c);
if(4 <= c.get(0).getAttack())
{
setTargetCard(c.get(0));
return true;
}
return false;
}//canPlayAI()
public void resolve()
{
super.resolve();
Card c = getTargetCard();
moveCreature[0] = c;
if(AllZone.GameAction.isCardInPlay(c))
{
//set summoning sickness
if(c.getKeyword().contains("Haste")){
c.setSickness(false);
}
else{
c.setSickness(true);
}
((PlayerZone_ComesIntoPlay)AllZone.Human_Play).setTrigger(false);
((PlayerZone_ComesIntoPlay)AllZone.Computer_Play).setTrigger(false);
c.setController(card.getController());
PlayerZone from = AllZone.getZone(c);
from.remove(c);
PlayerZone to = AllZone.getZone(Constant.Zone.Play, card.getController());
to.add(c);
((PlayerZone_ComesIntoPlay)AllZone.Human_Play).setTrigger(true);
((PlayerZone_ComesIntoPlay)AllZone.Computer_Play).setTrigger(true);
}
}//resolve()
};//SpellAbility
card.clearSpellAbility();
card.addSpellAbility(spell);
spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell));
card.setDestroy(new Command()
{
public void execute()
{
Card c = moveCreature[0];
if(AllZone.GameAction.isCardInPlay(c))
{
((PlayerZone_ComesIntoPlay)AllZone.Human_Play).setTrigger(false);
((PlayerZone_ComesIntoPlay)AllZone.Computer_Play).setTrigger(false);
PlayerZone from = AllZone.getZone(c);
from.remove(c);
PlayerZone to = AllZone.getZone(Constant.Zone.Play, c.getOwner());
to.add(c);
((PlayerZone_ComesIntoPlay)AllZone.Human_Play).setTrigger(true);
((PlayerZone_ComesIntoPlay)AllZone.Computer_Play).setTrigger(true);
}//if
}//execute()
});//Command
}//*************** END ************ END **************************
- jpb
- Posts: 132
- Joined: 05 Sep 2008, 13:12
- Has thanked: 0 time
- Been thanked: 0 time
Re: Card Bug Report
by jpb » 11 Sep 2008, 16:40
Here is the fix to restrict Oubliette to just creatures. Note that you also have to replace Oblivion Ring in order to fix Oubliette.mtgrares wrote:Oubliette – lets you target and remove any nonland permanent, instead of just restricting you to creatures
- Code: Select all
//*************** START *********** START **************************
else if(cardName.equals("Oblivion Ring"))
{
final SpellAbility enchantment = new Spell(card)
{
public void resolve()
{
if(AllZone.GameAction.isCardInPlay(getTargetCard()))
{
PlayerZone play = AllZone.getZone(getTargetCard());
play.remove(getTargetCard());
//put permanent into play
Card c = getSourceCard();
AllZone.getZone(Constant.Zone.Play, c.getController()).add(c);
}
}//resolve()
public boolean canPlayAI()
{
//try to target human creature
CardList human = CardFactoryUtil.AI_getHumanCreature();
Card target = CardFactoryUtil.AI_getBestCreature(human);//returns null if list is empty
if(target == null)
return false;
else
{
setTargetCard(target);
return true;
}
}//canPlayAI()
};//SpellAbility enchantment
final Input target = new Input()
{
//showMessage() is always the first method called
public void showMessage()
{
AllZone.Display.showMessage("Select non-land to remove from the game.");
ButtonUtil.enableOnlyCancel();
}
public void selectButtonCancel() {stop();}
public void selectCard(Card c, PlayerZone zone)
{
if(zone.is(Constant.Zone.Play) && !c.isLand())
{
enchantment.setTargetCard(c);
stopSetNext(new Input_PayManaCost(enchantment));
}
}
};//Input target
Command commandDestroy = new Command()
{
public void execute()
{
Object o = enchantment.getTargetCard();
if(o == null || ((Card)o).isToken())
return;
SpellAbility ability = new Ability(card, "0")
{
public void resolve()
{
//copy card to reset card attributes like attack and defense
Card c = enchantment.getTargetCard();
if(! c.isToken())
{
c = AllZone.CardFactory.copyCard(c);
c.setController(c.getOwner());
PlayerZone play = AllZone.getZone(Constant.Zone.Play, c.getOwner());
play.add(c);
}
}//resolve()
};//SpellAbility
ability.setStackDescription(card.getName() +" - returning creature to play");
AllZone.Stack.add(ability);
}//execute()
};//Command
card.setDestroy(commandDestroy);
card.clearSpellAbility();
card.addSpellAbility(enchantment);
enchantment.setBeforePayMana(target);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Oubliette"))
{
final SpellAbility enchantment = new Spell(card)
{
public void resolve()
{
if(AllZone.GameAction.isCardInPlay(getTargetCard()))
{
PlayerZone play = AllZone.getZone(getTargetCard());
play.remove(getTargetCard());
//put permanent into play
Card c = getSourceCard();
AllZone.getZone(Constant.Zone.Play, c.getController()).add(c);
}
}//resolve()
public boolean canPlayAI()
{
//try to target human creature
CardList human = CardFactoryUtil.AI_getHumanCreature();
Card target = CardFactoryUtil.AI_getBestCreature(human);//returns null if list is empty
if(target == null)
return false;
else
{
setTargetCard(target);
return true;
}
}//canPlayAI()
};//SpellAbility enchantment
final Input target = new Input()
{
//showMessage() is always the first method called
public void showMessage()
{
AllZone.Display.showMessage("Select creature to remove from the game (sorry no phasing yet).");
ButtonUtil.enableOnlyCancel();
}
public void selectButtonCancel() {stop();}
public void selectCard(Card c, PlayerZone zone)
{
if(zone.is(Constant.Zone.Play) && c.isCreature())
{
enchantment.setTargetCard(c);
stopSetNext(new Input_PayManaCost(enchantment));
}
}
};//Input target
Command commandDestroy = new Command()
{
public void execute()
{
Object o = enchantment.getTargetCard();
if(o == null || ((Card)o).isToken())
return;
SpellAbility ability = new Ability(card, "0")
{
public void resolve()
{
//copy card to reset card attributes like attack and defense
Card c = enchantment.getTargetCard();
if(! c.isToken())
{
c = AllZone.CardFactory.copyCard(c);
c.setController(c.getOwner());
PlayerZone play = AllZone.getZone(Constant.Zone.Play, c.getOwner());
play.add(c);
}
}//resolve()
};//SpellAbility
ability.setStackDescription(card.getName() +" - returning creature to play");
AllZone.Stack.add(ability);
}//execute()
};//Command
card.setDestroy(commandDestroy);
card.clearSpellAbility();
card.addSpellAbility(enchantment);
enchantment.setBeforePayMana(CardFactoryUtil.input_targetCreature(enchantment));
}//*************** END ************ END **************************
- jpb
- Posts: 132
- Joined: 05 Sep 2008, 13:12
- Has thanked: 0 time
- Been thanked: 0 time
Re: Card Bug Report
by GandoTheBard » 12 Sep 2008, 09:24
Crib Swap sometimes gives the OWNER the token rather than the controller. Sometimes it doesnt.
visit my personal homepage here: http://outofthebrokensky.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
-
GandoTheBard - Tester
- Posts: 1043
- Joined: 06 Sep 2008, 18:43
- Has thanked: 0 time
- Been thanked: 0 time
Re: Card Bug Report
by GandoTheBard » 12 Sep 2008, 09:32
Swords To Plowshards gives the OWNER the life not the controller :/
visit my personal homepage here: http://outofthebrokensky.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
-
GandoTheBard - Tester
- Posts: 1043
- Joined: 06 Sep 2008, 18:43
- Has thanked: 0 time
- Been thanked: 0 time
Re: Card Bug Report
by GandoTheBard » 12 Sep 2008, 09:35
if the computer cribswaps a cribswap token it doesnt control it gets the token.
visit my personal homepage here: http://outofthebrokensky.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
-
GandoTheBard - Tester
- Posts: 1043
- Joined: 06 Sep 2008, 18:43
- Has thanked: 0 time
- Been thanked: 0 time
58 posts
• Page 1 of 4 • 1, 2, 3, 4
Who is online
Users browsing this forum: No registered users and 176 guests