diff --git a/projects/mtg/bin/Res/test/_tests.txt b/projects/mtg/bin/Res/test/_tests.txt index c0817594f..daec65759 100644 --- a/projects/mtg/bin/Res/test/_tests.txt +++ b/projects/mtg/bin/Res/test/_tests.txt @@ -105,6 +105,7 @@ persuasion.txt plague_rats.txt protomatter_powder.txt pyroclasm.txt +recover.txt resurrection.txt rootwalla.txt royal_assassin.txt diff --git a/projects/mtg/bin/Res/test/recover.txt b/projects/mtg/bin/Res/test/recover.txt new file mode 100644 index 000000000..fa9f47b0d --- /dev/null +++ b/projects/mtg/bin/Res/test/recover.txt @@ -0,0 +1,20 @@ +#Bug: Recover leaves a copy of target card in the graveyard +[INIT] +FIRSTMAIN +[PLAYER1] +hand:recover (INV) +graveyard:grizzly bears +library:swamp +manapool:{2}{B} +[PLAYER2] +[DO] +recover (INV) +grizzly bears +[ASSERT] +FIRSTMAIN +[PLAYER1] +graveyard:recover (INV) +hand:grizzly bears,swamp +manapool:{0} +[PLAYER2] +[END] \ No newline at end of file diff --git a/projects/mtg/src/GameStateMenu.cpp b/projects/mtg/src/GameStateMenu.cpp index 8e14d2f6f..4552c442b 100644 --- a/projects/mtg/src/GameStateMenu.cpp +++ b/projects/mtg/src/GameStateMenu.cpp @@ -122,7 +122,7 @@ void GameStateMenu::Create() } currentState = MENU_STATE_MAJOR_LOADING_CARDS | MENU_STATE_MINOR_NONE; - scroller = NEW TextScroller(GameApp::CommonRes->GetJLBFont(Constants::MAIN_FONT), SCREEN_WIDTH/2 - 100 , SCREEN_HEIGHT-15,200); + scroller = NEW TextScroller(GameApp::CommonRes->GetJLBFont(Constants::MAIN_FONT), SCREEN_WIDTH/2 - 90 , SCREEN_HEIGHT-17,180); scrollerSet = 0; } @@ -228,7 +228,7 @@ void GameStateMenu::fillScroller(){ delete playerdata; scroller->Add(buff2); - scroller->Add(_("Need more cards? Go to http://wololo.net/wagic")); + scroller->Add(_("More cards and mods at http://wololo.net/wagic")); scroller->Add(_("These stats will be updated next time you run Wagic")); @@ -472,6 +472,7 @@ void GameStateMenu::Render() mFont->SetScale(1.f); mFont->SetColor(ARGB(255,255,255,255)); + renderer->FillRoundRect(SCREEN_WIDTH/2 - 100,SCREEN_HEIGHT-20, 191,6,5,ARGB(100,10,5,0)); scroller->Render(); if (subMenuController){ diff --git a/projects/mtg/src/ShopItem.cpp b/projects/mtg/src/ShopItem.cpp index 323011e48..469f81d6b 100644 --- a/projects/mtg/src/ShopItem.cpp +++ b/projects/mtg/src/ShopItem.cpp @@ -268,6 +268,12 @@ void ShopItems::ButtonPressed(int controllerId, int controlId){ display->AddCard(card); i++; } + for (int j = 0; j < mCount; j++){ + ShopItem * si = ((ShopItem *)mObjects[j]); + if (si->card && si->card->name.compare(c->name) == 0){ + si->nameCount+= it->second; + } + } } delete tempDeck; } diff --git a/projects/mtg/src/TargetChooser.cpp b/projects/mtg/src/TargetChooser.cpp index 5fa6eb564..ca5a3e072 100644 --- a/projects/mtg/src/TargetChooser.cpp +++ b/projects/mtg/src/TargetChooser.cpp @@ -274,7 +274,7 @@ TargetChooser::TargetChooser(MTGCardInstance * card, int _maxtargets): TargetsLi int TargetChooser::canTarget(Targetable * target){ if (target->typeAsTarget() == TARGET_CARD){ MTGCardInstance * card = (MTGCardInstance *) target; - if (source && (card->protectedAgainst(source) || card->has(Constants::SHROUD))) return 0; + if (source && card->isInPlay() && (card->has(Constants::SHROUD)|| card->protectedAgainst(source) )) return 0; return 1; }else if (target->typeAsTarget() == TARGET_STACKACTION){ return 1;