Erwan
-some bug fixes (test suite)
This commit is contained in:
@@ -48,7 +48,17 @@ int Damage::resolve(){
|
||||
|
||||
GameObserver * g = GameObserver::GetInstance();
|
||||
WEvent * e = NEW WEventDamage(this);
|
||||
|
||||
//Replacement Effects
|
||||
e = g->replacementEffects->replace(e);
|
||||
if (!e) return 0;
|
||||
WEventDamage * ev = dynamic_cast<WEventDamage*>(e);
|
||||
if (!ev) {
|
||||
g->receiveEvent(e);
|
||||
return 0;
|
||||
}
|
||||
damage = ev->damage->damage;
|
||||
target = ev->damage->target;
|
||||
|
||||
int a = 0;
|
||||
if (damage) a = target->dealDamage(damage);
|
||||
@@ -110,6 +120,7 @@ int DamageStack::resolve(){
|
||||
if (damage->state == RESOLVED_OK) damage->target->afterDamage();
|
||||
//damage->target->afterDamage();
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -264,7 +264,7 @@ bool TargetChooser::canTarget(Targetable * target){
|
||||
if (target->typeAsTarget() == TARGET_CARD){
|
||||
MTGCardInstance * card = (MTGCardInstance *) target;
|
||||
if (source && targetter && card->isInPlay() && (card->has(Constants::SHROUD)|| card->protectedAgainst(targetter) )) return false;
|
||||
if (source && targetter && card->isInPlay() && (source->controller() != card->controller()) && (card->has(Constants::OPPONENTSHROUD) || card->protectedAgainst(targetter))) return false;
|
||||
if (source && targetter && card->isInPlay() && (targetter->controller() != card->controller()) && (card->has(Constants::OPPONENTSHROUD) || card->protectedAgainst(targetter))) return false;
|
||||
return true;
|
||||
}
|
||||
else if (target->typeAsTarget() == TARGET_STACKACTION)
|
||||
|
||||
@@ -367,10 +367,9 @@ int TestSuite::assertGame(){
|
||||
for (int j = 0; j < 4; j++){
|
||||
MTGGameZone * zone = playerZones[j];
|
||||
if (zone->nb_cards != endState.playerData[i].zones[j].nbitems){
|
||||
sprintf(result, "<span class=\"error\">==Card number not the same in %i==, expected %i, got %i</span><br />",j, endState.playerData[i].zones[j].nbitems, zone->nb_cards);
|
||||
sprintf(result, "<span class=\"error\">==Card number not the same in player %i's %s==, expected %i, got %i</span><br />",i, zone->getName(), endState.playerData[i].zones[j].nbitems, zone->nb_cards);
|
||||
Log(result);
|
||||
error++;
|
||||
return 0;
|
||||
}
|
||||
for (int k = 0; k < endState.playerData[i].zones[j].nbitems; k++){
|
||||
int cardid = endState.playerData[i].zones[j].cards[k];
|
||||
|
||||
Reference in New Issue
Block a user