-fix for issue 123 (Cockatrice)
This commit is contained in:
wagic.the.homebrew@gmail.com
2009-10-22 13:08:33 +00:00
parent 386bcf2bc7
commit 2c1a44ed43
3 changed files with 32 additions and 7 deletions

View File

@@ -77,6 +77,7 @@ circle_of_protection.txt
civic_wayfinder.txt
clone.txt
clone2.txt
cockatrice.txt
composite_golem.txt
control_magic.txt
control_magic2.txt

View File

@@ -0,0 +1,24 @@
#Bug:Cockatrice doesn't kill opponent
[INIT]
COMBATATTACKERS
[PLAYER1]
inplay:cockatrice
[PLAYER2]
inplay:Akroma's Memorial,air elemental
[DO]
cockatrice
next
#blockers
air elemental
next
#damage
next
#end combat
[ASSERT]
COMBATEND
[PLAYER1]
graveyard:cockatrice
[PLAYER2]
inplay:Akroma's Memorial
graveyard:air elemental
[END]

View File

@@ -529,20 +529,20 @@ MTGCardInstance * MTGCardInstance::getNextOpponent(MTGCardInstance * previous){
GameObserver * game = GameObserver::GetInstance();
int foundprevious = 0;
if (!previous) foundprevious = 1;
if (attacker && game->currentPlayer->game->inPlay->hasCard(this)){
if (attacker){
MTGInPlay * inPlay = game->opponent()->game->inPlay;
for (int i = 0; i < inPlay->nb_cards; i ++){
MTGCardInstance * current = inPlay->cards[i];
if (current == previous){
foundprevious = 1;
foundprevious = 1;
}else if (foundprevious){
MTGCardInstance * defensersOpponent = current->isDefenser();
if (defensersOpponent && (defensersOpponent == this || (banding && defensersOpponent->banding == banding))){
return current;
}
MTGCardInstance * defensersOpponent = current->isDefenser();
if (defensersOpponent && (defensersOpponent == this || (banding && defensersOpponent->banding == banding))){
return current;
}
}
}
}else if (defenser && game->opponent()->game->inPlay->hasCard(this)){
}else if (defenser){
MTGInPlay * inPlay = game->currentPlayer->game->inPlay;
for (int i = 0; i < inPlay->nb_cards; i ++){
MTGCardInstance * current = inPlay->cards[i];