From 9cd67eedc1029bc524761e66dc47a5464ea2c966 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sun, 19 Feb 2017 21:08:07 +0800 Subject: [PATCH] refactor canproducemana --- projects/mtg/src/MTGCardInstance.cpp | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/projects/mtg/src/MTGCardInstance.cpp b/projects/mtg/src/MTGCardInstance.cpp index aa9d7e557..550177ff7 100644 --- a/projects/mtg/src/MTGCardInstance.cpp +++ b/projects/mtg/src/MTGCardInstance.cpp @@ -875,22 +875,13 @@ int MTGCardInstance::canproduceMana(int color) { int count = 0; - //start - if(hasSubtype("forest") && color == 1) - count++; - if(hasSubtype("island") && color == 2) - count++; - if(hasSubtype("mountain") && color == 3) - count++; - if(hasSubtype("swamp") && color == 4) - count++; - if(hasSubtype("plains") && color == 5) - count++; if(cardsAbilities.size()) { for(unsigned int j = 0; j < cardsAbilities.size(); j++) { - if(dynamic_cast (cardsAbilities[j]) && dynamic_cast (cardsAbilities[j])->output->hasColor(color)) + AbilityFactory af(observer); + MTGAbility * toCheck = af.getCoreAbility(cardsAbilities[j]); + if(dynamic_cast (toCheck) && dynamic_cast (toCheck)->output->hasColor(color)) count++; } }