Improved toughness target filtering for Planeswalkers and Battles.
This commit is contained in:
@@ -181,17 +181,16 @@ MTGCardInstance * CardDescriptor::match_or(MTGCardInstance * card)
|
|||||||
return NULL;
|
return NULL;
|
||||||
if (powerComparisonMode && !valueInRange(powerComparisonMode, card->getPower(), power))
|
if (powerComparisonMode && !valueInRange(powerComparisonMode, card->getPower(), power))
|
||||||
return NULL;
|
return NULL;
|
||||||
if (toughnessComparisonMode){ // Toughness has different meaning for creatures, planeswalkers and battles
|
if (toughnessComparisonMode){ // Toughness comparison has a different meaning for planeswalkers and battles.
|
||||||
if(card->isCreature() && !valueInRange(toughnessComparisonMode, card->getToughness(), toughness))
|
if(card->counters && (card->hasType(Subtypes::TYPE_PLANESWALKER) || card->hasType(Subtypes::TYPE_BATTLE))){
|
||||||
return NULL;
|
|
||||||
else if(card->counters && (card->hasType(Subtypes::TYPE_PLANESWALKER) || card->hasType(Subtypes::TYPE_BATTLE))){
|
|
||||||
for(size_t i = 0; i < card->counters->counters.size(); ++i){
|
for(size_t i = 0; i < card->counters->counters.size(); ++i){
|
||||||
if((card->counters->counters[i]->name == "loyalty" && card->hasType(Subtypes::TYPE_PLANESWALKER)) || (card->counters->counters[i]->name == "defense" && card->hasType(Subtypes::TYPE_BATTLE))){
|
if((card->counters->counters[i]->name == "loyalty" && card->hasType(Subtypes::TYPE_PLANESWALKER)) || (card->counters->counters[i]->name == "defense" && card->hasType(Subtypes::TYPE_BATTLE))){
|
||||||
if(!valueInRange(toughnessComparisonMode, card->counters->counters[i]->nb, toughness))
|
if(!valueInRange(toughnessComparisonMode, card->counters->counters[i]->nb, toughness))
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else if(!valueInRange(toughnessComparisonMode, card->getToughness(), toughness))
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
if (manacostComparisonMode && !valueInRange(manacostComparisonMode, card->myconvertedcost, convertedManacost))
|
if (manacostComparisonMode && !valueInRange(manacostComparisonMode, card->myconvertedcost, convertedManacost))
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -239,17 +238,16 @@ MTGCardInstance * CardDescriptor::match_and(MTGCardInstance * card)
|
|||||||
match = NULL;
|
match = NULL;
|
||||||
if (powerComparisonMode && !valueInRange(powerComparisonMode, card->getPower(), power))
|
if (powerComparisonMode && !valueInRange(powerComparisonMode, card->getPower(), power))
|
||||||
match = NULL;
|
match = NULL;
|
||||||
if (toughnessComparisonMode){ // Toughness has different meaning for creatures, planeswalkers and battles
|
if (toughnessComparisonMode){ // Toughness comparison has a different meaning for planeswalkers and battles.
|
||||||
if(card->isCreature() && !valueInRange(toughnessComparisonMode, card->getToughness(), toughness))
|
if(card->counters && (card->hasType(Subtypes::TYPE_PLANESWALKER) || card->hasType(Subtypes::TYPE_BATTLE))){
|
||||||
return NULL;
|
|
||||||
else if(card->counters && (card->hasType(Subtypes::TYPE_PLANESWALKER) || card->hasType(Subtypes::TYPE_BATTLE))){
|
|
||||||
for(size_t i = 0; i < card->counters->counters.size(); ++i){
|
for(size_t i = 0; i < card->counters->counters.size(); ++i){
|
||||||
if((card->counters->counters[i]->name == "loyalty" && card->hasType(Subtypes::TYPE_PLANESWALKER)) || (card->counters->counters[i]->name == "defense" && card->hasType(Subtypes::TYPE_BATTLE))){
|
if((card->counters->counters[i]->name == "loyalty" && card->hasType(Subtypes::TYPE_PLANESWALKER)) || (card->counters->counters[i]->name == "defense" && card->hasType(Subtypes::TYPE_BATTLE))){
|
||||||
if(!valueInRange(toughnessComparisonMode, card->counters->counters[i]->nb, toughness))
|
if(!valueInRange(toughnessComparisonMode, card->counters->counters[i]->nb, toughness))
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else if(!valueInRange(toughnessComparisonMode, card->getToughness(), toughness))
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
if (manacostComparisonMode && !valueInRange(manacostComparisonMode, card->myconvertedcost, convertedManacost))
|
if (manacostComparisonMode && !valueInRange(manacostComparisonMode, card->myconvertedcost, convertedManacost))
|
||||||
match = NULL;
|
match = NULL;
|
||||||
|
|||||||
Reference in New Issue
Block a user