diff --git a/projects/mtg/bin/Res/test/manual/knight_reliquary.txt b/projects/mtg/bin/Res/test/manual/knight_reliquary.txt new file mode 100644 index 000000000..194663d13 --- /dev/null +++ b/projects/mtg/bin/Res/test/manual/knight_reliquary.txt @@ -0,0 +1,19 @@ +#Bug:Knight of the reliquary +[INIT] +FIRSTMAIN +[PLAYER1] +inplay:knight of the reliquary,plains +library:swamp +[PLAYER2] +[DO] +human +human +[ASSERT] +COMBATEND +[PLAYER1] +inplay:Wildslayer Elves,Armadillo Cloak +life:25 +[PLAYER2] +graveyard:grizzly bears +life:17 +[END] \ No newline at end of file diff --git a/projects/mtg/include/MTGAbility.h b/projects/mtg/include/MTGAbility.h index 77bd1ff03..91cf91717 100644 --- a/projects/mtg/include/MTGAbility.h +++ b/projects/mtg/include/MTGAbility.h @@ -116,7 +116,6 @@ class TargetAbility:public ActivatedAbility{ MTGAbility * ability; TargetAbility(int id, MTGCardInstance * card, TargetChooser * _tc,ManaCost * _cost = NULL, int _playerturnonly = 0,int tap = 1); TargetAbility(int id, MTGCardInstance * card,ManaCost * _cost = NULL, int _playerturnonly = 0,int tap = 1); - virtual void Update(float dt); virtual int reactToClick(MTGCardInstance * card); virtual int reactToTargetClick(Targetable * object); virtual TargetAbility* clone() const = 0; diff --git a/projects/mtg/src/ActionLayer.cpp b/projects/mtg/src/ActionLayer.cpp index 8f3b17565..01767e26a 100644 --- a/projects/mtg/src/ActionLayer.cpp +++ b/projects/mtg/src/ActionLayer.cpp @@ -146,7 +146,7 @@ TargetChooser * ActionLayer::getCurrentTargetChooser(){ int ActionLayer::cancelCurrentAction(){ ActionElement * ae = isWaitingForAnswer(); if (!ae) return 0; - ae->waitingForAnswer = 0; //TODO MOVE THIS IS ActionElement + ae->waitingForAnswer = 0; //TODO MOVE THIS IN ActionElement setCurrentWaitingAction(NULL); return 1; } diff --git a/projects/mtg/src/DuelLayers.cpp b/projects/mtg/src/DuelLayers.cpp index cf963c845..b1263ac6b 100644 --- a/projects/mtg/src/DuelLayers.cpp +++ b/projects/mtg/src/DuelLayers.cpp @@ -51,9 +51,9 @@ void DuelLayers::CheckUserInput(int isAI){ if ((!isAI) && (0 != key)) { if (stack->CheckUserInput(key)) break; - if (combat->CheckUserInput(key)) break; + if (combat->CheckUserInput(key)) break; + if (avatars->CheckUserInput(key)) break; //avatars need to check their input before action (CTRL_CROSS) if (action->CheckUserInput(key)) break; - if (avatars->CheckUserInput(key)) break; if (hand->CheckUserInput(key)) break; if (cs->CheckUserInput(key)) break; } diff --git a/projects/mtg/src/ExtraCost.cpp b/projects/mtg/src/ExtraCost.cpp index 970e9f42e..cc5e5d0c3 100644 --- a/projects/mtg/src/ExtraCost.cpp +++ b/projects/mtg/src/ExtraCost.cpp @@ -61,6 +61,7 @@ void SacrificeCost::Render(){ //TODO : real stuff JLBFont * mFont = resources.GetJLBFont(Constants::MAIN_FONT); mFont->SetScale(DEFAULT_MAIN_FONT_SCALE); + mFont->SetColor(ARGB(255,255,255,255)); char buffer[200]; sprintf(buffer, _("sacrifice").c_str()); mFont->DrawString(buffer, 20 ,20, JGETEXT_LEFT); diff --git a/projects/mtg/src/GameObserver.cpp b/projects/mtg/src/GameObserver.cpp index adc3120c2..1d76e279d 100644 --- a/projects/mtg/src/GameObserver.cpp +++ b/projects/mtg/src/GameObserver.cpp @@ -285,9 +285,9 @@ void GameObserver::stateEffects() card->afterDamage(); //Remove auras that don't have a valid target anymore - if (card->target && !isInPlay(card->target)){ - players[i]->game->putInGraveyard(card); - } + if (card->target && !isInPlay(card->target)){ + players[i]->game->putInGraveyard(card); + } } } for (int i =0; i < 2; i++) diff --git a/projects/mtg/src/MTGAbility.cpp b/projects/mtg/src/MTGAbility.cpp index d511e68b7..edbc715fb 100644 --- a/projects/mtg/src/MTGAbility.cpp +++ b/projects/mtg/src/MTGAbility.cpp @@ -1817,18 +1817,6 @@ TargetAbility::TargetAbility(int id, MTGCardInstance * card,ManaCost * _cost, in ability = NULL; } -void TargetAbility::Update(float dt){ - JGE * mEngine = JGE::GetInstance(); - if (waitingForAnswer){ - if(mEngine->GetButtonClick(PSP_CTRL_CROSS)){ - game->mLayers->actionLayer()->setCurrentWaitingAction(NULL); - waitingForAnswer = 0; - }else if(tc->targetsReadyCheck() == TARGET_OK_FULL){ - //waitingForAnswer = 0; - //ActivatedAbility::reactToClick(source); - } - } -} int TargetAbility::reactToTargetClick(Targetable * object){ if (object->typeAsTarget() == TARGET_CARD) return reactToClick((MTGCardInstance *)object); @@ -1859,7 +1847,6 @@ int TargetAbility::reactToClick(MTGCardInstance * card){ return ActivatedAbility::reactToClick(source); }else{ if (tc->toggleTarget(card) == TARGET_OK_FULL){ - int result = ActivatedAbility::reactToClick(source); if (result) { waitingForAnswer = 0;