- fix a bug with nyxathid
This commit is contained in:
wagic.the.homebrew
2009-03-14 15:03:55 +00:00
parent 0256e64cd9
commit 61463d047b
4 changed files with 50 additions and 18 deletions
+6 -2
View File
@@ -354,8 +354,12 @@ void MTGLibrary::shuffleTopToBottom(int nbcards){
}
MTGGameZone * MTGGameZone::stringToZone(string zoneName, MTGCardInstance * source,MTGCardInstance * target){
Player * p = source->controller();
Player * p2 = target->controller();
Player *p, *p2;
GameObserver * g = GameObserver::GetInstance();
if (!source) p = g->currentlyActing();
else p = source->controller();
if (!target) p2 = p;
else p2 = target->controller();
if(zoneName.compare("mygraveyard") == 0)return p->game->graveyard;
if(zoneName.compare("opponentgraveyard") == 0) return p->opponent()->game->graveyard;
if(zoneName.compare("targetownergraveyard") == 0) return target->owner->game->graveyard;
+7 -16
View File
@@ -42,29 +42,20 @@ TargetChooser * TargetChooserFactory::createTargetChooser(string s, MTGCardInsta
zoneName = s2;
s2 = "";
}
zones[nbzones] = game->currentlyActing()->game->inPlay;
//Graveyards
if (zoneName.compare("mygraveyard") == 0){
zones[nbzones] = game->currentlyActing()->game->graveyard;
}else if(zoneName.compare("opponentgraveyard") == 0){
zones[nbzones] = game->currentlyActing()->opponent()->game->graveyard;
}else if(zoneName.compare("graveyard") == 0){
if(zoneName.compare("graveyard") == 0){
zones[nbzones] = game->players[0]->game->graveyard;
nbzones++;
zones[nbzones] = game->players[1]->game->graveyard;
}else{
//inPlay
if (zoneName.compare("myinplay") == 0){
zones[nbzones] = game->currentlyActing()->game->inPlay;
}else if(zoneName.compare("opponentinplay") == 0){
zones[nbzones] = game->currentlyActing()->opponent()->game->inPlay;
}else if(zoneName.compare("inplay") == 0){
}else if(zoneName.compare("inplay") == 0){
zones[nbzones] = game->players[0]->game->inPlay;
nbzones++;
zones[nbzones] = game->players[1]->game->inPlay;
}else{
zones[nbzones] = game->currentlyActing()->game->inPlay;
}
}else{
MTGGameZone * zone = MTGGameZone::stringToZone(zoneName, card,card);
if (zone) zones[nbzones] = zone;
}
nbzones++;
}