add pow/toughness filters (#2169)

This commit is contained in:
Zach H 2016-09-20 18:17:53 -04:00 committed by GitHub
parent 65c98c8422
commit 6c7ba06930
4 changed files with 30 additions and 2 deletions

View file

@ -35,6 +35,10 @@ const char *CardFilter::attrName(Attr a)
return "cmc";
case AttrRarity:
return "rarity";
case AttrPow:
return "power";
case AttrTough:
return "toughness";
default:
return "";
}

View file

@ -24,6 +24,8 @@ public:
AttrManaCost,
AttrCmc,
AttrRarity,
AttrPow,
AttrTough,
AttrEnd
};

View file

@ -224,13 +224,29 @@ bool FilterItem::acceptCmc(const CardInfo *info) const
return (info->getCmc() == term);
}
bool FilterItem::acceptPower(const CardInfo *info) const
{
int slash = info->getPowTough().indexOf("/");
if (slash != -1)
return (info->getPowTough().mid(0,slash) == term);
return false;
}
bool FilterItem::acceptToughness(const CardInfo *info) const
{
int slash = info->getPowTough().indexOf("/");
if (slash != -1)
return (info->getPowTough().mid(slash+1) == term);
return false;
}
bool FilterItem::acceptRarity(const CardInfo *info) const
{
foreach (QString rareLevel, info->getRarities())
{
if (rareLevel.compare(term, Qt::CaseInsensitive) == 0)
return true;
}
return false;
}
@ -254,6 +270,10 @@ bool FilterItem::acceptCardAttr(const CardInfo *info, CardFilter::Attr attr) con
return acceptCmc(info);
case CardFilter::AttrRarity:
return acceptRarity(info);
case CardFilter::AttrPow:
return acceptPower(info);
case CardFilter::AttrTough:
return acceptToughness(info);
default:
return true; /* ignore this attribute */
}

View file

@ -118,6 +118,8 @@ public:
bool acceptSet(const CardInfo *info) const;
bool acceptManaCost(const CardInfo *info) const;
bool acceptCmc(const CardInfo *info) const;
bool acceptPower(const CardInfo *info) const;
bool acceptToughness(const CardInfo *info) const;
bool acceptRarity(const CardInfo *info) const;
bool acceptCardAttr(const CardInfo *info, CardFilter::Attr attr) const;
};